Archief - PHP: Gastenboek werkt niet (Fatal Error)

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

-fusi0n-

Legacy Member
Hallo

ik doe een klantentevredenheidsonderzoek en wou alle gegevens die via een online formulier werden ingevuld laten verschijnen op een aparte pagina, zodat ik die gegevens kan copy/paste in excel

ik heb weinig of geen ervaring in PHP dus ik het maar via wat gids'jes moeten uitvissen,

ik probeer dus eerst om simpelweg 2 veldjes die je invult te laten opslaan in de database 'dbkto' (zoals bij een gastenboek dus)
maar ik krijg volgende error als ik op "verzenden" klik,:

Fatal error: Call to undefined function mysql_query() in C:\Program Files\Apache Group\Apache2\htdocs\verwerkscript.php on line 19

line 19 is deze:
if (!($temp = mysql_query($sql,$connection)))

Hier zijn de bestandjes:

gastenboek.php
PHP:
<html> 
<head> 
<title>html formulier voor updaten sql database met php </title> </head> 

<body> 

<form method = "post" action="verwerkscript.php"> 
Naam:<br> 
<input type="text" name="Naam"></input> <br>
Opmerking: <br>
<textarea name="Opmerking"></textarea> 

<input type ="submit" value="verzenden"> 
</form> 

<? 

include 'mysql.php'; 

//Mysql DATA selecteren 


$query="SELECT * FROM tblvragen"; 
if (!($temp = mysql_query($query,$connection))) 

showerror(); 

//mysql data weergeven 

while ($tblvragen = mysql_fetch_array($temp)) 

{ 

echo"<hr> 

<div>Naam: <strong>".$tblvragen ['Naam']."</strong></div> 

<div >".date("H:i:s, jS-M-y", $tblvragen ['Datum'])."</div> 

<div>".$tblvragen ['Opmerking']."</div> 

<hr> "; 

} 

?> 

</body> 
</html>

mysql.php
PHP:
<? 

// deze variabelen vervangen met je Mysql server / database gegevens 

$hostname = "localhost"; 
$username = "root"; 
$password = "test"; 
$database = "dbkto"; 

// Functie om eventuele MySQL errors te specificeren 

function showerror() 
{ 
die("Error" .mysql_errno() . " : " . mysql_error()); 
exit; 
} 

// MySQL connectie maken 

if (!($connection= @ mysql_connect($hostname, $username, $password))) showerror(); 


// specificeren welke database op de MySQL server we gebruiken 

if (!mysql_select_db($database, $connection)) 
showerror(); 

?>

verwerkscript.php
PHP:
<? 

// html variabelen ophalen 

$Naam = $_POST['Naam']; 
$Opmerking = $_POST['Opmerking']; 

// variabele om het tijdstip van de boodschap in database op te slaan. 

$time= time(); 

// sql insert die je in de database gaat doen 

$sql ="INSERT INTO tblvragen(Naam, Opmerking)
VALUES ('".$Naam."', '".$Opmerking."')"; 

//uitvoeren van de query : 

if (!($temp = mysql_query($sql,$connection))) 

showerror(); 


?>

! Als ik
include 'mysql.php';
toevoeg aan het begin van verwerkscript.php, dan is de error weg,
maar de gegevens komen niet in de database


wat doe ik verkeerd?
alvast bedankt

killgore

Legacy Member
mysql.php zou er idd zeker moeten inzitten, omdat je anders geen connectie maakt ;). Maar dat dat de error wegdoet vind ik nogal vreemd :/.

Ik zie geen onmiddelijke code-fout, maar die eerste fout slaat er meestal op dat mysql-extension in php nog niet aanstaat. Je moet eens in php.ini zoeken naar ";extension=php_mysql.dll" en die ; aan het begin verwijderen ;).

-fusi0n-

Legacy Member
killgore zei:
mysql.php zou er idd zeker moeten inzitten, omdat je anders geen connectie maakt ;). Maar dat dat de error wegdoet vind ik nogal vreemd :/.
ja zo ver was ik al :D maar ik bedoel dat de include reeds in gastenboek.php staat, en dat ik ze óok in verwerkscript zet (dan is er geen error, maar gewoon een wit scherm)


killgore zei:
Ik zie geen onmiddelijke code-fout, maar die eerste fout slaat er meestal op dat mysql-extension in php nog niet aanstaat. Je moet eens in php.ini zoeken naar ";extension=php_mysql.dll" en die ; aan het begin verwijderen ;).
die ';' was inderdaad nog niet verwijderd, maar het heeft me niet vooruit geholpen :)

toch bedankt voor het medeleven ;)

edit: moest apache herstarten :) zit al 1 error verder! thnx

Cyberkef

Legacy Member
-fusi0n- zei:
die ';' was inderdaad nog niet verwijderd, maar het heeft me niet vooruit geholpen :)

toch bedankt voor het medeleven ;)

Heb je de httpd herstart nadat je die ; hebt verwijderd? :)

-fusi0n-

Legacy Member
oepsepoeps :)

en hoera, een nieuwe error :love:


Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Group\Apache2\htdocs\verwerkscript.php on line 19

Fatal error: Call to undefined function showerror() in C:\Program Files\Apache Group\Apache2\htdocs\verwerkscript.php on line 21

Radiance

Legacy Member
Ook in verwerkscript.php moet je net na de <? een verwijzing zetten naar uw database gegevens, dus
include 'mysql.php';

-fusi0n-

Legacy Member
de volgende :oink:


Parse error: syntax error, unexpected T_VARIABLE in C:\Program Files\Apache Group\Apache2\htdocs\verwerkscript.php on line 5

-fusi0n-

Legacy Member
killgore zei:
post nog is hele code :).

die is nog dezelfde :) maar goed

verwerkingscript.php:
PHP:
<? 
include 'mysql.php'
// html variabelen ophalen 

$Naam = $_POST['Naam']; 
$Opmerking = $_POST['Opmerking']; 

// variabele om het tijdstip van de boodschap in database op te slaan. 

$time= time(); 

// sql insert die je in de database gaat doen 

$sql ="INSERT INTO tblvragen(Naam, Opmerking)
VALUES ('".$Naam."', '".$Opmerking."')"; 

//uitvoeren van de query : 

if (!($temp = mysql_query($sql,$connection))) 

showerror(); 


?>

-fusi0n-

Legacy Member
WAAAAAAAAHHh het werkt :love: :love: :love:

ik was een ; vergeten in lijn 2, niet in lijn 4 :p

omg dit is zo leuk
haha :)

killgore

Legacy Member
dacht ik al, feit dat je lijn 4 pas fout krijgt is omdat uw code interpretatie niet syntax-position based is (dus een statement kan evengoed over 20 lijnen lopen), hij vindt dus pas een fout wanneer je daar ineens $naam probeert te declareren terwijl je nog in include-statement zit :).

orez

Legacy Member
gebruik trouwens eens <?php ?> ipv <? ?> kwestie om ook verdere problemen te vermijden.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan