[PHP] Probleem met toevoegen commentaar in mysql DB *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

Ik heb een probleem met een enquete die aan het maken ben.
Ik heb een resultaten pagina waar netjes alle resultaten komen te staan. Als je dan op een entry klikt verschijnen netjes de resultaten van degene die de enquete heeft ingevuld. :+
Nu wil ik aan die resultaten commentaar kunnen toevoegen. Ik heb nu het volgende script:

if ($submit)
{
$db= mysql_connect("localhost", "root");
mysql_select_db("mydb",$db);

mysql_query
("UPDATE ideeen SET commentaar=$commentaar WHERE id=$id", $db);

echo "<a href='home.php'>Terug</a>";
}
else{
?>
<form method="post" action="<?php echo $PHP_SELF?>">
<?
if ($id) // krijgt de variabele mee van de resultaten pagina. De link naar de pagina met dit script wordt dan bijv. commentaar.php?id=76
{
?>
Commentaar: <br><input type='Text' name='commentaar'><br>
<input type='Submit' name='submit' value='Submit'>
</form>
<?
}
}
?>

Als hij dit script uitgevoerd wordt moet er normaal de link die in dit scriptje vermeld staat worden vermeld maar die werkt dus niet. Krijg een hele witte pagina te zien en verder niks.
Wie kan me helpen? Heb alle vele searches gedaan maar volgens mij is er niks mis met dit script.... :'(

Acties:
  • 0 Henk 'm!

  • Rotjeknor
  • Registratie: April 2001
  • Laatst online: 01-04-2023
Het hangt er even vanaf welke versie van php je gebruikt, maar zie: http://www.php.net/manual...reserved.variables.server
Gebruik $_SERVER['PHP_SELF'] vanaf versie 4.1.0

En het is ook handig je code ff tussen [ php ] en [ / php] te zetten.

[ Voor 19% gewijzigd door Rotjeknor op 18-06-2003 15:32 ]

Ook Knor is aangestoken met het ligfietsvirus!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Heeft het daar iets mee te maken dan? Ik heb mandrake 9.0 geinstalleerd.
Denk dat er gewoon toch ergens iets fout gaat met het script. de enquete site werkt verder wel gewoon goed. Alleen het toevoegen van commentaar niet echt.

Verander ik de naam van commentaar.php in test.txt en ik pas dit ook aan op de resultaten pagina geeft ie wel gewoon netjes het text veld waar je commentaar in kan voegen...

[ Voor 29% gewijzigd door Verwijderd op 18-06-2003 15:35 ]


Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

Aantal dingen:
• Lees de Quickstart
• zet je code tussen [ php] tags
• wat heb je al geprobeerd?
Debug je code!

Succes

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Sorry had ik inderdaad even moeten doen.
Ik heb mijn script gebaseerd op een tutorial van webmonkey; hier de link
<a href="http://hotwired.lycos.com/webmonkey/99/21/index3a_page5.html?tw=programming">Link</a>

Als ik deze code kopieer en aanpas aan mijn database werkt toevoegen van commentaar wel.

[ Voor 5% gewijzigd door Verwijderd op 18-06-2003 15:41 ]


Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

Ok, nog een debug-tips:

• Print voordat je je query uitvoert, de query op het scherm.
• gebruik mysql_error() om je database errors te bekijken

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

addslashes?
tussen single-quotes?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik zal het proberen iets te verduidelijken...
Ik heb een resultaten pagina met een mysql query die ervoor zorgt dat ie de naam en een idee ui de database haalt. De resultaten komen onder elkaar te staan op deze manier

idee 1 naam1
idee 2 naam2

Je kan dan op het idee klikken om de ingevulde velden van de enquete te bekijken.
Hij laat deze velden ook netjes zien. Hieronder heb ik een link gemaakt naar commentaar.php. Als je dan op geef commentaar klikt is het de bedoeling dat hij commentaar gaat toevoegen aan het resultaat waar je op klikt. De link wordt dan bijv. commentaar.php?id76
Het script is op de commentaar pagina is dan zoals hierboven is beschreven. Ik kan er geen fouten in ontdekken.
Ik heb
echo mysql_errno() . ": " . mysql_error() . "\n"; gebruikt maar hij geeft geeen foutmelding ofzo... alleen een witte pagina. Als je dan de bron bekijkt geeft ie dit
<html>
<head><link rel="stylesheet" href="oss.css" type="text/css">
</head>
<body>

<form method="post" action="/commentaar.php">


</body>

</html>

denk dat het posten van het commentaar niet goed gaat
?>

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
UPDATE employees SET first='$first',last='$last',address='$address',position='$position' WHERE id=$id

Deze query komt uit de tutorial op webmonkey. Deze werkt wel. Maar wat is het verschil nu...
volgens mij niks

Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

Weet je wel zeker dat de query wordt uitgevoerd?

[edit]
Verwijderd schreef op 18 June 2003 @ 16:04:
UPDATE employees SET first='$first',last='$last',address='$address',position='$position' WHERE id=$id

Deze query komt uit de tutorial op webmonkey. Deze werkt wel. Maar wat is het verschil nu...
volgens mij niks
Kijk eens goed wat er om de variabelen heen staan en in jouw query niet?

[ Voor 81% gewijzigd door thomaske op 18-06-2003 16:05 ]

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ok het probleem van de witte pagina is opgelost.
Ik krijg nu netjes een tekst veld te zien waar je commentaar in kan voegen. en vervolgens krijg je de melding dat het is toegevoegd.
Ik had in de link naar de commentaar paginaeen '=' teken vergeten. 8)7

Hij voert de query wel uit maar als je dan de resulaten bekijkt bij het commentaar veld doet ie het niet :!

Hij moet dus nu het commentaar veld updaten in de database. Maar dat doet ie niet :'(

[ Voor 27% gewijzigd door Verwijderd op 18-06-2003 16:09 ]


Acties:
  • 0 Henk 'm!

  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 05-09 14:30

DizzyWeb

Ondertiteld

Je moet ook een string in je query zetten... Oftewel, zet $commentaar tussen single quotes :)
Maar dat was al verteld :P

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
thnx voor jullie hulp. Al was het niet veel _/-\o_

Het is opgelost.

Ik had in de query staan ....WHERE id=$id maar dit moest zijn WHERE id=id;

Nu werkt het.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Tenzij je natuurlijk slechts 1 item aan wil passen ;)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
dat doet ie wel goed gelukkig 8)

[ Voor 25% gewijzigd door Verwijderd op 18-06-2003 16:31 ]


Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

ok.. nu je probleem bijna helemaal is opgelost zal ik je even laten zien hoe je de volgende keer te werk kunt gaan

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<? 
if ($submit) 
{ 
    echo "[ HeLa er is gesubmit ] <BR>";

    $db= mysql_connect("localhost", "root") or die('Geen verbinding: '.mysql_error()); 
    mysql_select_db("mydb",$db) or die('Geen db: '.mysql_error()); 

    $sql_update = "UPDATE ideeen SET commentaar = '$commentaar' WHERE id=". $id;

    echo "Uitvoeren: [$sql_update] <BR>";

    mysql_query ($sql_update, $db) or die('Geen query: '.mysql_error()); 

    echo "<a href='home.php'>Terug</a>"; 
}
else
{ 
    ?>
    <form method="post" action="<?php echo $PHP_SELF?>"> 
    <? 

    if ($id)
    { 
        echo " \$id = $id <BR>";
        ?> 
        Commentaar: <br><input type='Text' name='commentaar'><br> 
        <input type='Submit' name='submit' value='Submit'> 
        </form> 
        <? 
    } 
} 
?> 


Zo kan je dus exact zien waar het in je script fout gaat..

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik zal in vervolg deze manier scripten. Is iknderdaad wel makkelijk want je weet dan welke mysql error het is en hoe je het eventueel zelf op kan lossen.
thnx voor je hulp in elk geval. :)
Pagina: 1