Op mijn ander topic heb ik gevraagd hoe ik op dezelfde pagina mijn data uit een form kan verwerken. Dat doe ik nu met $_server['php_self'].
Dat werkt goed tot op een gegeven moment..
Het form staat op een pagina die index.php?newsid=...&readmore=1 heet (... zelf in te vullen).
Nu als je submit op dat form zet die de comment dus in de database, en als je opnieuw naar die pagina gaat, zie je dat ook, maar hij gaat daar niet rechtstreeks naartoe.
Hoe zegt eerst dat er geen comments zijn.

dit is een stuk waar het comment form wordt geinclude (include ('comment.php')), en dat staat op index.php?newsid=1&readmore=1 .
<?
$newsid=$_GET[newsid];
$mysql_id = mysql_connect("$db_host", "$db_username", "$db_password");
mysql_select_db("$db_database",$mysql_id);
$sql="SELECT * FROM comments WHERE newsid='$newsid'";
$res = mysql_query("$sql", $mysql_id);
$row = mysql_fetch_row($res);
$res = mysql_query ($sql) or die (mysql_error ());
if (mysql_num_rows ($res) >= 1)
{
while ($row = mysql_fetch_array ($res))
{
echo'
<table border="0" cellspacing="0" cellpadding="0" id="comments" width="430">
<tr>
<td width="5" bgcolor="#D2D2D2">
</td>
<td width="425" id="name" bgcolor="#D2D2D2" height="10" valgin="top">
<font face="Verdana" size="2">By <u>' . $row['commentwriter'] . '</u></font>
</td>
</tr>
</table>
<table border="0" cellspacing="0" cellpadding="3" id="commentstext" width="430">
<tr>
<td width="430" id="text">
<font face="Verdana" size="2">' . $row['commenttext'] . '</font>
</td>
</tr>
</table>
<br><br>';}}
else {
echo '<table border="0" cellspacing="0" cellpadding="5" id="nocomment" height="10" width="430">
<tr>
<td width="430">
<font face="Verdana" size="2" color="#000000">No comments on this item yet!</font>
</td>
</tr>
</table>';}
echo '<p align="left">';
include ('comment.php');
echo '</p>';
?>

Hoe laat ik hem nu terug naar index.php?newsid=1&readmore=1 gaan nadat hij de data heeft in de tabel gezet?

Mvg Jens
P.S dit is het vorige topic voor als je het wou weten.. http://www.phphulp.nl/forum/showtopic.php?cat=12&id=20556&page=
Ik zie nergens een form in je codevoorbeeld, of een include 'comment.php'
comment.php:

<?
   if ($_SERVER['REQUEST_METHOD'] != 'POST'){
      $me = $_SERVER['REQUEST_URI'];
?>
<form method="POST" action="<? echo $me;?>">
<font face="Verdana" size="2">Your Name:</font><br>
<input type="text" name="commentwriter" size="35"><br>
<font face="Verdana" size="2">Message:</font><br>
<textarea name="commenttext" rows="9" cols="40"> </textarea><br>
<input type="hidden" name="newsid" value="<? echo $_GET['newsid'];?>">
<input type="submit" name="submit" value="Submit" size="20">
</form>
<?
} else {
require ('config.php');
if (!@mysql_select_db($db_database, @mysql_connect($db_host, $db_username, $db_password)))
{
echo 'Er kan geen database connectie gemaakt worden.';
exit();
}

function strip_var($value)
{
    $value1 = addslashes($value);
    $value2 = strip_tags($value1);
    $value3 = htmlspecialchars($value2);

    return $value3;
}

$newsid = strip_var($_POST['newsid']);
$commentwriter = strip_var($_POST['commentwriter']);
$commenttext = $_POST['commenttext'];

$sql = "INSERT INTO comments (id, newsid, commentwriter, commenttext) VALUES ('', '$newsid', '$commentwriter', '$commenttext')";
mysql_query($sql) or die(mysql_error());
}
?>

Nu wel:)
Jens schreef op 03.08.2006 00:35
hoe doe ik dat? ^^

Bumpen na zes minuten?
srry ma, ik dacht dat je de vraag niet had gezien omdat het in dezelfde zin stond met de 'bedankt'
In dat geval gebruik je keurig de 'edit' knop:
[edit]
ok, bedankt, dat werkt al, maar nu nog zorgen dat dat form ook nog terug komt

Dat is niet specifiek genoeg uitgelegd en daar kan ik dus niets mee.
[/edit]
k dan...
Jens schreef op 03.08.2006 00:41
k dan...

Mooi. Vertel wat je bedoelt met "dat het form terugkomt"
nadat ik dus ge-submit heb, zie ik alles wel terug, dus ook de comments etc, maar dan is het form (de include('comment.php'), lijkt da plotseling niet meer geinclude.

EDIT: ik pm je even de url naar de site
Klopt. Je doet dit:
<?php
if ($_SERVER['REQUEST_METHOD'] != 'POST'){
?>
en daarna komt je form. Maar als het formulier verzonden is, is $_SERVER['REQUEST_METHOD'] juist wèl gelijk aan 'POST' dus slaat hij het stuk code over waarin je <form> staat.
dus wat moet ik doen?

Reageren