terug naar zelfde pagina na submit
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 .
Code (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
34
35
36
37
38
39
40
41
42
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
34
35
36
37
38
39
40
41
42
<?
$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>';
?>
$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=
Gewijzigd op 01/01/1970 01:00:00 door Jens V
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
// fout
$mysql_id = mysql_connect("$db_host", "$db_username", "$db_password");
// goed
$mysql_id = mysql_connect($db_host, $db_username, $db_password);
?>
// fout
$mysql_id = mysql_connect("$db_host", "$db_username", "$db_password");
// goed
$mysql_id = mysql_connect($db_host, $db_username, $db_password);
?>
Verder is <font> al sinds 1999 (als ik het goed heb) een vervallen html-tag. Gebruik css om de pagina's op te maken.
Frank:
Offtopic: Variabelen hou je buiten quotes, dus nooit ' of " om een variabele.
Verder is <font> al sinds 1999 (als ik het goed heb) een vervallen html-tag. Gebruik css om de pagina's op te maken.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
// fout
$mysql_id = mysql_connect("$db_host", "$db_username", "$db_password");
// goed
$mysql_id = mysql_connect($db_host, $db_username, $db_password);
?>
// fout
$mysql_id = mysql_connect("$db_host", "$db_username", "$db_password");
// goed
$mysql_id = mysql_connect($db_host, $db_username, $db_password);
?>
Verder is <font> al sinds 1999 (als ik het goed heb) een vervallen html-tag. Gebruik css om de pagina's op te maken.
het werkt in ieder geval met de "
Quote:
Tja, dat klopt. Maar dat wil niet zeggen dat je code er helemaal lekker uitziet en optimaal werkt. Tevens bestaat er nu een grote kans op tikfouten, dus bugs. het werkt in ieder geval met de "
En wanneer je dit probeert met een andere programmeertaal, dan kun je nog wel eens hopeloos in de problemen komen.
Een variabele is geen string, behandel een variabele dan dus ook niet als string, maar als een variabele. Er is toch niets mis met netjes programmeren? Of wel? Het scheelt een hele berg bugs...
Je kunt beter dan "het werkt". In een auto zonder voorruit kun je ook rijden, maar ik vind het toch prettiger als alles netjes op zijn plaats zit :-)
volgens mij worden de GET variabelen dan meegenomen.
of gewoon er ergens tussen zetten?
Gewijzigd op 01/01/1970 01:00:00 door Jens V
ok, bedankt, dat werkt al, maar nu nog zorgen dat dat form ook nog terug komt
hoe doe ik dat? ^^
Ik zie nergens een form in je codevoorbeeld, of een include 'comment.php'
Code (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
34
35
36
37
38
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
34
35
36
37
38
<?
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());
}
?>
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:)
Gewijzigd op 01/01/1970 01:00:00 door Jens V
Jens:
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'
Edit:
Dat is niet specifiek genoeg uitgelegd en daar kan ik dus niets mee.
Quote:
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.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
k dan...
Jens:
k dan...
Mooi. Vertel wat je bedoelt met "dat het form terugkomt"
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?