Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [PHP] gastenboek vraag (https://forum.scholieren.com/showthread.php?t=720566)

Lil' Stef 14-01-2004 12:01

[PHP] gastenboek vraag
 
PHP-code:

<? 
<tr><td><input type=submit name=verwijder value='delete entry'></td><td><input type=submit name=edit value='edit entry'></table><hr>"; 


if (isset($verwijder)) { 

echo $record->id; 




$database_server = mysql_connect();   
mysql_select_db("test", $database_server);        
       
$verwijder = mysql_query("DELETE FROM gastenboek WHERE id='$record->id'") or die ("damn!");   

echo "succesfully deleted"; 







?>

dit is een stukje uit me admin code waar het de bedsoeling is dat hij een een entry verwijderd. Ik haal de gegevens op uit de database en zet ze dan achter elkaar net als dat je ze leest. Alleen nu verwijderd hij wel maar hij verwijderd ze allemaal en dat moet niet. Ik heb alk wat met sessies zitten klooien maar ik kom er nie uit...wie kan me helpen?

TIGEK 14-01-2004 12:10

Is de ID uniek

Zo ja

Maak een formulier met een
PHP-code:

<?php 
while($records == mysql_fetch_object(mysql_query("SELECT * FROM `gastenboek`"))){
echo 
"
<input type=\"radio\" name=\"id\" value=\""
.$records->id."\" />".$records->tekst."<br />
}
In een form fomulier en dan 
if(
$_SERVRER['request_methode']=="POST"){
mysql_query("
DELETE FROM gastenboek WHERE id'$_POST[id]'") or die(mysql_error());
echo 
$_POST['id']." is met succes verwijderd.";


Chimera 14-01-2004 14:27

Altijd eerst je query opbouwen in een aparte var, en dan kijken of die query uberhaupt correct is. Dus:

PHP-code:

$query ""DELETE FROM gastenboek WHERE id='$record->id'" ; 

Dan kun je om te debuggen meteen daarna een die($query); opnemen.

De regel waarop je de query uitvoert doe je zo:
PHP-code:

$result mysql_query($query) or die("MySQL error: " mysql_error() . " in query " $query); 

Als het fout gaat, zie je meteen waarom. Aan een "damn" heb je niks.

Chimera 14-01-2004 14:31

Citaat:

TIGEK schreef op 14-01-2004 @ 13:10:
mysql_query("DELETE FROM gastenboek WHERE id= '$_POST[id]'") or die(mysql_error());
[/PHP]

Even ter info: een post-var rechtsstreeks in een query opnemen is ongeveer 't domste wat je kunt doen. Je moet altijd checken of die var inderdaad een enkele numerieke waarde is.

Als $_POST[id] niet als waarde "1" heeft maar als waarde "1' OR id != '0" ofzo kan iemand in een keer de hele DB leegkieperen.

Lil' Stef 14-01-2004 14:38

Citaat:

TIGEK schreef op 14-01-2004 @ 13:10:
Is de ID uniek

Zo ja

Maak een formulier met een
PHP-code:

<?php 
while($records == mysql_fetch_object(mysql_query("SELECT * FROM `gastenboek`"))){
echo 
"
<input type=\"radio\" name=\"id\" value=\""
.$records->id."\" />".$records->tekst."<br />
}
In een form fomulier en dan 
if(
$_SERVRER['request_methode']=="POST"){
mysql_query("
DELETE FROM gastenboek WHERE id'$_POST[id]'") or die(mysql_error());
echo 
$_POST['id']." is met succes verwijderd.";


waar moet ik dan neerzetten?? dus een formulier en daar achter dit plakke inc. het record zooitje?

Chimera 14-01-2004 14:57

Als je die code niet snapt zie ik ook niet hoe je een gastenboek kunt bouwen?

Lil' Stef 14-01-2004 16:26

PHP-code:

while ($record mysql_fetch_object($resultaat)) { 

echo 
"<font face=Verdana><table cellspacing=2 cellpadding=0 border=0><tr><td>Id:</td><td>$record->id</td></tr><tr><td>Name:</td><td> $record->name</td></tr><tr><td>Age:</td><td>$record->age</td></tr><tr><td>E-Mail</td><td><a href=mailto:$record->email>$record->email</a></td></tr><tr><td>Homepage</td><td><a href=http://$record->homepage>$record->homepage</a></td></tr><tr><td>Gender</td><td>$record->gender</td></tr><tr><td>Message</td><td> $record->message</td></tr></table></font>";

echo 
"<form action=delete.php method=post><br>
<table cellspacing=2 cellpadding=0 border=1>
<tr><td><input type=submit name=verwijderd value='delete entry'></td><td><input type=submit name=tool value='edit entry'></table><hr>"
;

if (!empty(
$verwijderd)) {

while(
$records == mysql_fetch_object(mysql_query("SELECT * FROM `gastenboek`"))){ 
echo 

<input type=\"radio\" name=\"id\" value=\""
.$records->id."\" />".$records->tekst."<br /> 

In een form fomulier en dan  
if(
$_SERVER['request_methode']=="POST"){ 
mysql_query("
DELETE FROM gastenboek WHERE id'$_POST[id]'") or die(mysql_error()); 
echo 
$_POST['id']." is met succes verwijderd."; 

}


}
?> 

ik heb nu 2 whiles en dan geeft ie t-string foutmelding :(

eXo 14-01-2004 16:28

haha "damn!" :P :D

dafelix 14-01-2004 16:31

Citaat:

Lil' Stef schreef op 14-01-2004 @ 17:26:
PHP-code:

....
In een form fomulier en dan  
... 



? volgens mij hoort dit niet in de code


Wil je in het vervolg ook aangeven welke regel hij foutgaat? (en die regel ook aangeven?) want nu is het voor ons ook gokken natuurljik

Chimera 14-01-2004 16:57

Citaat:

Lil' Stef schreef op 14-01-2004 @ 17:26:

ik heb nu 2 whiles en dan geeft ie t-string foutmelding :(

*snip*

Vind je het gek dat je alles weggooit als je code door de volledige set wandeld en dan ook alles weggooit :rolleyes:

Ik zou zeggen, begin fijn bij het begin, aan je copy-paste actie te zien weet je duidelijk niet waar je mee bezig bent.

Lil' Stef 14-01-2004 19:09

this gelukt.......ik was met overzicht een beetje kwijt.....maar allemaal bedankt.


Alle tijden zijn GMT +1. Het is nu 06:42.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.