Ga naar inhoud

[PHP] Isset() Validatie werkt niet...


anoniem

Aanbevolen berichten

Hey, ik heb nu weer een andere vraag. Ik heb een script dat een bericht in een DB zet. Nu zit alles in 1 bestandje, dus ik heb isset() gebruikt om te bepalen of er op submit is gedrukt. Als dat gedaan is, komt er weer een isset() om te controleren of de 2 velden zijn ingevult. Maar dat werkt niet. Hij laat niet zien dat ze niet ingevult zijn, en stuurt ze gewoon de database in. Kan iemand er alsjeblieft even naar kijken? Waar zit mijn fout? Alvast bedankt: [code:1:b7b2fb2551] <?php require ("connect.php"); mysql_connect("$dbhost","$dbuser","$dbpass"); mysql_select_db("$db"); $datum=date("d/m/Y"); $tijd=date("H:i"); $bericht=$_POST['bericht']; $wachtwoord=md5($_POST['wachtwoord']); $ip=$_SERVER['REMOTE_ADDR']; ?> <html> <head> <title>Message Service - Bericht achterlaten</title> <link href="stijl.css" rel="stylesheet" type="text/css" media="all"> </head> <body bgcolor="#ffffff"> <h1>Bericht Achterlaten</h1> <? if (isset($_POST["submit"])) { //kijkt of er op submit is gedrukt if (isset($_POST["bericht"]) && isset($_POST["wachtwoord"])) { //kijkt of beide velden zijn ingevult, zoja dan moet het de db in. zoniet dan een waarschuwing. mysql_query("INSERT INTO berichten (datum, tijd, bericht, pass, IP) VALUES ('$datum', '$tijd', '$bericht', '$wachtwoord', '$ip')") or die(mysql_error()); mysql_close(); echo "De gegevens zijn opgeslagen!\n<br>\n<br>"; echo "<p><a href=\"index.php\">&lt; Terug</a></p>"; } else { echo "Je bent een veld vergeten in te vullen.\n<br>\n<br>"; echo "<p><a href=\"javascript:history.go(-1)\">&lt; Terug</a></p>"; } } else { ?> <p>Typ hieronder je bericht, en een wachtwoord in.<br> Degene die het bericht ophaalt, heeft dit wachtwoord nodig.</p> <form id="FormName" action="<?php echo $PHP_SELF; ?>" method="post" name="achterlaten"> <table width="329" border="0" cellspacing="2" cellpadding="0"> <tr> <td valign="top">Bericht:</td> <td><textarea name="bericht" rows="10" cols="40"></textarea></td> </tr> <tr> <td>Wachtwoord:</td> <td><input type="wachtwoord" name="wachtwoord" size="19"></td> </tr> </table> <p><input type="submit" name="submit" value="Bericht Opslaan"></p> </form> <p></p> </body> </html> <? } ?> [/code:1:b7b2fb2551] Greetz, Bert - The Milkman -
Link naar reactie
Als [i:4a58b41d41]isset($_POST["submit"]) == true[/i:4a58b41d41], dan geldt dit automatisch ook voor [i:4a58b41d41]isset($_POST["bericht"])[/i:4a58b41d41] en [i:4a58b41d41]isset($_POST["wachtwoord"])[/i:4a58b41d41] aangezien ook lege velden worden gesubmit. Je controleert dus feitelijk 2x hetzelfde. De oplossing van The Game is bijna goed, gebruik[code:1:4a58b41d41]if($_POST["bericht"] == '' || $_POST["wachtwoord"] == ''){ [/code:1:4a58b41d41]Als dit true is, dan is één of beide velden niet ingevuld. - Bas
Link naar reactie
[quote:8cb07e21e4="BasHamar"]Als [i:8cb07e21e4]isset($_POST["submit"]) == true[/i:8cb07e21e4], dan geldt dit automatisch ook voor [i:8cb07e21e4]isset($_POST["bericht"])[/i:8cb07e21e4] en [i:8cb07e21e4]isset($_POST["wachtwoord"])[/i:8cb07e21e4] aangezien ook lege velden worden gesubmit. Je controleert dus feitelijk 2x hetzelfde. De oplossing van The Game is bijna goed, gebruik[code:1:8cb07e21e4]if($_POST["bericht"] == '' || $_POST["wachtwoord"] == ''){ [/code:1:8cb07e21e4]Als dit true is, dan is één of beide velden niet ingevuld. - Bas[/quote:8cb07e21e4] Bedankt, alles werkt nu!
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...