Gastenboek post niet

Status
Niet open voor verdere reacties.

kritinet

Gebruiker
Lid geworden
25 nov 2007
Berichten
118
Hoi
Ik heb net een gastenboek gemaakt, maar het werkt niet.
Ik heb in de database een voorbeeld bericht geplaatst. Dat word ook goed weergegeven.
maar het posten lukt niet.
ik krijg ook geen error ervan. :confused: het word gewoon niet geplaatst.
ik gebruik volgende script(s)
PHP:
<?php
 $db = mysql_connect($hostname_db, $username_db, $password_db) or trigger_error(mysql_error(),E_USER_ERROR);
  
 
 $continu=1;
 if ($name == "")
{
 print("Your name is needed !<br>");
 $continu=0;
 }
 if ($continu == 1)
 {
 $date=date("Y-m-d");
 $sql="INSERT INTO impression (name, email, impression, date, commentaire) VALUES ('$name', '$email', 'impression', '$date', '$commentaire')";

 mysql_query($sql, $db);
 print("Thank you for giving me your impressions !") ;
 }
 else
{
 print("<a href=http://www.estero-travel.com/nl/beoordelingen.php>back</a>");
 }
 ?>
HTML:
<form method="get" action="beoordelingen.php">
Uw naam: <input type="text" name="name"><br>
 Uw e-mail adress : <input type="email" name="email"><br>
 Uw reisperiode: <input type="text" name="periode"><br>
 Hoe beeordeelt u uw geheele vakantie ? 
 <input type="radio" name="impression" value="aime"> 
 Heel goed
     <input type="radio" name="impression" value="pasaime">
     goed
         <input type="radio" name="impression" value="matig">
   matig
          <input type="radio" name="impression" value="slecht">
slecht
   
    <br>
 Uw commentaar: 
  <textarea name="commentaires" cols="50" rows="6"></textarea>
 <br><br>
 <input type="submit" name="valider" value="Posten">
 </form>
PHP:
<table align="center" cellspacing="05" cellpadding="5" border="1" width="100%">
 <tr class="aanbieding3">
<td width="17%" >Datum</td>
<td width="16%" >Naam</td>
 <td width="15%" >Email</td>
 <td width="10%" >Beoordeling</td>
 <td width="42%" >Commentaar</td>
 </tr>
<?php

 $sql="SELECT * FROM Beoordelingen ORDER BY date";
 $res=mysql_query($sql, $db);
 while ($ligne = mysql_fetch_object ($res)) 
 {
    print "<tr>";
     print "<td>$ligne->date</td>";
     print "<td>$ligne->name</td>";
     print "<td>$ligne->email</td>";
     print "<td>$ligne->impression</td>";
     print "<td>$ligne->commentaire</td>";
     print "</tr>";
 }
 mysql_free_result ($res);
 ?>
 </table>

Waar zit de fout ?
en hier is het online http://www.estero-travel.com/nl/beoordelingen.php
 
Waar haal je al die variabelen vandaan? Ik zie ze nergens geinitialiseerd worden.

Daarnaast, probeer dit eens om te kijken of je fouten tegenkomt:

PHP:
$sql="INSERT INTO impression (name, email, impression, date, commentaire) VALUES ('$name', '$email', 'impression', '$date', '$commentaire')";
 
 mysql_query($sql, $db);
// output letterlijk wat er gedaan wordt
echo $sql;
// output eventuele fouten die SQL geeft
echo mysql_error();

Misschien zit daar wat nuttigs in.
 
een foutje uitgehaald
bij
PHP:
$sql="INSERT INTO impression (name, email, impression, date, commentaire) VALUES ('$name', '$email', 'impression', '$date', '$commentaire')";
had het moeten zijn
PHP:
$sql="INSERT INTO Beoordelingen (name, email, impression, date, commentaire) VALUES ('$name', '$email', 'impression', '$date', '$commentaire')";
maar het werkt nog steeds niet.
 
Zoals Frats hierboven al vroeg, waar haal je je variabelen weg?
Als je ze niet benoemd bijv:
PHP:
$variabele = 'wat je variabele dan ook moet doen' ;

Dan post hij inderdaad ook niets, want hij heeft niks om te posten, daarom krijg je ook geen melding.
 
Ten eerste de form method veranderen in POST

Dan kun je in PHP met $_POST["veld_naam"] de veld naam ophalen.

Voorbeeld met email

$email = $_POST["email"];
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan