Onderstaand scriptje doet niet wat het moet doen: een entry in een gastenboek opslaan in de database. De $verwerkt variabele krijg ik niet gevuld, en als ik het script aanpas naar "if(!$verwerkt) {" wordt de query gerund, maar zijn de waarden van de form velden naam en tekst leeg.

Staar me er nu al een tijdje blind op en heb flink lopen zoeken online maar kom er niet achter wat ik fout doe...

De PHP versie is 4 en die van MySql 4.1, dank alvast voor jullie hulp!

<?php

if($verwerkt) {

include ("connect.php");
$datum_nu = gmdate("Y.m.d H:i:s, \G\M\T", time() + 7200);
$insertSQL = "insert into gastenboek (datum, naam, tekst) Values ('$datum_nu', '$naam', '$tekst')";
echo $insertSQL;

$result = mysql_query($insertSQL) or die("Query failed");
}
?>

<HTML>
<head>
<style type="text/css">
    <!--
    TABLE {font-family:'Arial'; font-size:8pt; }
    .lnk {font-family:'Arial'; font-size:8pt; }
    //-->
</style>
</head>

<body>
<font face="Arial" size="2">

<form method='post' action='gastenboekd.php'>


<TABLE CELLSPACING="1" BORDER="0" WIDTH="100%">
<TR>
	<TD WIDTH="20%">
		<SELECT ALIGN="left" SIZE="1" NAME="naam">
		<OPTION Value="0">Kies je naam...</OPTION>
<?php                
include ("connect.php");
// Performing SQL query
$query_namen = "SELECT naam FROM `namen` WHERE invaller=0 ORDER BY `naam`";


$result = mysql_query($query_namen)
    or die("Select query failed");

while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "<option value=";
echo $line[naam];
echo ">$line[naam]</option>";
}

?>
		<OPTION Value=Gastspreker>Gastspreker</OPTION>
		</SELECT>
	</TD>
	<TD WIDTH="80%" VALIGN="TOP" Size="3" Align="center">
		<textarea rows="3" cols="75" MAXLENGHT="290" NAME="tekst"><?php echo $tekst;?></textarea>
	</TD>
</TR>
<TR>
	<TD colspan=2 WIDTH="100%" VALIGN="TOP" Size="3" Align="left">

	<input type="submit" name="verzenden" value="GO!">
	<INPUT TYPE="HIDDEN" Name="verwerkt" VALUE=TRUE>
	</TD>
</TR>
</table>
</Form>
<BR><BR>


<?php

// Performing SQL query
$query = "SELECT `gastenboek`.`datum`, `gastenboek`.`naam`, `gastenboek`.`tekst`
FROM `gastenboek` where datum > '2006-07-03 09:56:39'
ORDER BY `gastenboek`.`datum` DESC";


$result = mysql_query($query)
    or die("Select query failed");


    
// Printing results in HTML
// Create a table.
print ("<TABLE BORDER=0>");

 	print ("<TR ALIGN=CENTER VALIGN=TOP>");
 	print ("<TD ALIGN=CENTER WIDTH='17%' VALIGN=TOP></TD>");
 	print ("<TD ALIGN=CENTER WIDTH='8%' VALIGN=TOP></B></TD>");
 	print ("<TD ALIGN=CENTER WIDTH='75%' VALIGN=TOP></TD>");
 	print ("</TR>");
// Fetch the results from the database.
    print "\t<tr>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    print "\t<tr>\n";
    foreach ($line as $col_value) {
        print "\t\t<td>$col_value</td>\n";
    }
    print "\t</tr>\n";
}

//mysql_close ($Link);
print ("</TABLE>\n");


// Closing connection
mysql_close ($dbh);
?>
</body></html>
Pas je post even aan en gebruik [ignore]
 en 
[/ignore] tags om je code heen. Om php code zet je uiteraard dit:<?php en ?>Gebruik je knop om dit te doen.

Zet dit bovenin je script.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>

SanThe.

Reageren