Alert maken in een formulier

Status
Niet open voor verdere reacties.

antonwas

Gebruiker
Lid geworden
11 nov 2006
Berichten
254
Hallo allemaal,

Ik heb het volgende script geschreven waarbij gebruikers via een gastenboek berichtjes kunnen plaatsen op een webpagina. Wanneer een veld niet ingevuld is krijgt de gebruiker een zgn. alert te zien. Helaas werkt deze alert niet. Ik kan de fout niet vinden:(

Code:
<?php
// Variabelen maken
$commentaar = $_POST["commentaar"];
$naam = $_POST["naam"];
$email = $_POST["email"];
$submit = $_POST["versturen"];

// Formulier schrijven
echo "<h2>Een eenvoudig gastenboek</h2>\n";
echo "<form action=\"$_SERVER[PHP_SELF]\" method=\"POST\">\n";
echo "<p>Uw naam: <input type=\"text\" name=\"naam\"></p>\n";
echo "<p>Uw e-mailadres: <input type=\"text\" name=\"email\"></p>\n";
echo "<p>Uw commentaar:</p>\n";
echo "<textarea cols=\"50\" rows=\"5\" wrap=\"soft\" name=\"commentaar\"></textarea><br>\n";
echo "<p><input type=\"submit\" name=\"versturen\" value=\"Commentaar verzenden\"></p>\n";
echo "<hr>\n";
echo "<p><h2>Reeds geleverde commentaar</h2></p>\n";

// Bestandje waar de opmerkingen van de gasten in komen
$tekstfile="commentaar.txt";
if (isset($submit) && naam != "" && email != "" && commentaar != "") {
    $pointer=fopen($tekstfile,"r+");
    $oudcommentaar=fread($pointer,filesize($tekstfile));
    $email="<a href=\"mailto:$email\">$email</a>";
    $date=date("j.n.Y");
    $commentaar=htmlspecialchars($commentaar);
    $commentaar=stripslashes(nl2br($commentaar));
    $geschreven="<p><strong>$naam</strong> ($email) heeft geschreven op <i>$date</i> :
    <br><br>$commentaar</p><hr>\n";
    rewind($pointer);
    fputs($pointer,"$geschreven\n$oudcommentaar\n");
    fclose($pointer);
}
else {
  // De alert. Die werkt dus niet
  echo "<script language=\"javascript\">alert(\"Gelieve alle gegevens in te vullen!\")\;\"</script>";
}
readfile($tekstfile);
?>

Kan iemand mij misschien helpen?

Groetjes,

Anton
 
probeer dit eens

echo '<script >alert("Gelieve alle gegevens in te vullen!");</script>';
 
probeer dit eens

echo '<script >alert("Gelieve alle gegevens in te vullen!");</script>';

Deze oplossing doet het ook niet, althans niet op het juiste moment. Wanneer ik de pagina laad komt de alert melding direct. En niet nadat ik op de submit knop heb gedrukt. Het lijkt wel alsof het 'else-statement' niet wordt uitgevoerd??
 
HTML:
<input type="submit" name="submit" id="submitBtn" onclick="javascript:alert('huh?');return false;" />
 
HTML:
<input type="submit" name="submit" id="submitBtn" onclick="javascript:alert('huh?');return false;" />

Ook deze vorm werkt niet. Nogmaals: de velden naam, email en commentaar MOETEN ingevuld zijn. Als dat niet het geval is, dan moet er een alert melding komen.
 
Wat dacht je van eens een functie te schrijven waarin je de velden controleert?
Die functie aanroepen wanneer de submit wordt ingedrukt.

Het is Helpmij.nl, niet Geefmij.nl ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan