php forum bewerk pagina
Pagina: « vorige 1 2 3 volgende »
Dus dat betekent dat ik of voor post moet kiezen of voor get , kies ik voor get dan moet ik zorgen dat het formulier word met post ??? , maar als ik voor post kies hoef ik toch bijna niks te veranderen ???
Als je iets uit de URL wilt halen, moet je GET gebruiken, als je info dat je via een formulier hebt verstuurd (met als method post), dan moet je POST gebruiken... Dus de variabele die uit de URL komen (naam, email, id) moeten GET krijgen, en die je via het formulier verstuurd moeten POST krijgen...
dit is wat ik nu heb
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
error_reporting(E_ALL);
include ("test.php");
if (isset($_GET['submit']) && isset($_GET['id']) && isset($_GET['bericht'])){
mysql_query("UPDATE tabel SET bericht='$_GET[bericht]' WHERE id='$_GET[id]");
echo "geupdate";
}
$query = mysql_query("SELECT bericht FROM dvdfilms WHERE naam='" . $_GET['naam'] . "' AND email='" . $_GET['email'] . "' AND id='" . $_GET['id'] . "'");
if (mysql_num_rows($query) >= 1){
while ($rij = mysql_fetch_assoc($query)){
echo $rij['bericht'];
echo "<FORM action=\"" . $_SERVER['PHP_SELF'] . "id=" . $_GET['id'] . "\" method='get' >";
echo "Nieuw bericht: <input name='bericht' type='text' id='bericht' size='20'>";
echo "<br><input type='submit' name='submit' value='submit'>";
}
}
?>
error_reporting(E_ALL);
include ("test.php");
if (isset($_GET['submit']) && isset($_GET['id']) && isset($_GET['bericht'])){
mysql_query("UPDATE tabel SET bericht='$_GET[bericht]' WHERE id='$_GET[id]");
echo "geupdate";
}
$query = mysql_query("SELECT bericht FROM dvdfilms WHERE naam='" . $_GET['naam'] . "' AND email='" . $_GET['email'] . "' AND id='" . $_GET['id'] . "'");
if (mysql_num_rows($query) >= 1){
while ($rij = mysql_fetch_assoc($query)){
echo $rij['bericht'];
echo "<FORM action=\"" . $_SERVER['PHP_SELF'] . "id=" . $_GET['id'] . "\" method='get' >";
echo "Nieuw bericht: <input name='bericht' type='text' id='bericht' size='20'>";
echo "<br><input type='submit' name='submit' value='submit'>";
}
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?
method='GET' // Gewoon POST van laten, je wilt de waardes toch opsturen? Toch niet binnenhalen??
$_GET['submit'] // Komt submit uit de URL??
$_GET['id'] // Die is goed
$_GET['bericht'] // Komt deze ook uit de URL??
$_GET['naam'] // Goed
$_GET['email'] // Goed
$_GET['id'] // Goed
$_GET['id'] // Ook goed
?>
method='GET' // Gewoon POST van laten, je wilt de waardes toch opsturen? Toch niet binnenhalen??
$_GET['submit'] // Komt submit uit de URL??
$_GET['id'] // Die is goed
$_GET['bericht'] // Komt deze ook uit de URL??
$_GET['naam'] // Goed
$_GET['email'] // Goed
$_GET['id'] // Goed
$_GET['id'] // Ook goed
?>
De variabelen staan in zelfde volgorde, alleen de method heb ik ff vooraan gezet, omdat het anders beetje verwarrend was... Want het leek idd wel goed, omdat de method get was... Maar om de variabele op te sturen (in het engels POST *hint*) moet je method=POST gebruiken
Gewijzigd op 12/05/2005 20:47:00 door Willem Jan Z
bericht komt ook niet de url
moet ik aan deze ook iets veranderen dan ?
Snap je dat nu nog steeds niet dan? Dat moet dus POST worden! Omdat het uit het formulier komt waar je method is post gebruikt...
Willem-Jan:
Snap je dat nu nog steeds niet dan? Dat moet dus POST worden! Omdat het uit het formulier komt waar je method is post gebruikt...
Quote:
echo "<FORM action=\"" . $_SERVER['PHP_SELF'] . "id=" . $_GET['id'] . "\" method='get' >";
*grijns* heeft ie ondertussen ook al naar $_GET gezet :p
Ja, dat heb ik toch ook gezegd, dat hij dat gewoon POST moest laten
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
include ("test.php");
if (isset($_POST['submit']) && isset($_POST['forumid']) && isset($_POST['bericht'])){
mysql_query("UPDATE tabel SET bericht='$_POST[bericht]' WHERE id='$_POST[forumid]");
echo "geupdate";
}
$query = mysql_query("SELECT bericht FROM dvdfilms WHERE naam='$_GET[naam]' AND email='$_GET[email]' AND id='$_GET[forumid]'");
if (mysql_num_rows($query) >= 1){
while ($rij = mysql_fetch_assoc($query)){
echo $rij['bericht'];
echo "</FORM method='POST' action=\"" . $_SERVER['PHP_SELF'] . "id=" . $rij['forumid'] . "\">";
echo "Nieuw bericht: <textarea cols='20' rows='5' name='bericht' id='bericht'></textarea>";
echo "<br><input type='submit' name='submit' id='verzenden'>";
}
}
else{
echo "hier klopt iets niet";
}
?>
include ("test.php");
if (isset($_POST['submit']) && isset($_POST['forumid']) && isset($_POST['bericht'])){
mysql_query("UPDATE tabel SET bericht='$_POST[bericht]' WHERE id='$_POST[forumid]");
echo "geupdate";
}
$query = mysql_query("SELECT bericht FROM dvdfilms WHERE naam='$_GET[naam]' AND email='$_GET[email]' AND id='$_GET[forumid]'");
if (mysql_num_rows($query) >= 1){
while ($rij = mysql_fetch_assoc($query)){
echo $rij['bericht'];
echo "</FORM method='POST' action=\"" . $_SERVER['PHP_SELF'] . "id=" . $rij['forumid'] . "\">";
echo "Nieuw bericht: <textarea cols='20' rows='5' name='bericht' id='bericht'></textarea>";
echo "<br><input type='submit' name='submit' id='verzenden'>";
}
}
else{
echo "hier klopt iets niet";
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
include ("test.php");
if (isset($_GET['submit']) && isset($_GET['forumid']) && isset($_GET['bericht'])){
mysql_query("UPDATE tabel SET bericht='$_GET[bericht]' WHERE id='$_GET[forumid]");
echo "geupdate";
}
$query = mysql_query("SELECT bericht FROM dvdfilms WHERE naam='$_GET[naam]' AND email='$_GET[email]' AND id='$_GET[id]'");
if (mysql_num_rows($query) >= 1){
while ($rij = mysql_fetch_assoc($query)){
echo $rij['bericht'];
echo "<FORM method='POST' action=\"" . $_SERVER['PHP_SELF'] . "id=" . $rij['id'] . "\">";
echo "Nieuw bericht: <textarea cols='20' rows='5' name='bericht' id='bericht'></textarea>";
echo "<br><input type='submit' name='submit' id='verzenden'>";
}
}
else{
echo "hier klopt iets niet";
}
?>
include ("test.php");
if (isset($_GET['submit']) && isset($_GET['forumid']) && isset($_GET['bericht'])){
mysql_query("UPDATE tabel SET bericht='$_GET[bericht]' WHERE id='$_GET[forumid]");
echo "geupdate";
}
$query = mysql_query("SELECT bericht FROM dvdfilms WHERE naam='$_GET[naam]' AND email='$_GET[email]' AND id='$_GET[id]'");
if (mysql_num_rows($query) >= 1){
while ($rij = mysql_fetch_assoc($query)){
echo $rij['bericht'];
echo "<FORM method='POST' action=\"" . $_SERVER['PHP_SELF'] . "id=" . $rij['id'] . "\">";
echo "Nieuw bericht: <textarea cols='20' rows='5' name='bericht' id='bericht'></textarea>";
echo "<br><input type='submit' name='submit' id='verzenden'>";
}
}
else{
echo "hier klopt iets niet";
}
?>
include ("test.php");
if (isset($_POST['submit']) && isset($_GET['forumid']) && isset($_POST['bericht'])){
mysql_query("UPDATE tabel SET bericht='" . $_POST['bericht'] . "' WHERE id='" . $_GET['forumid'] . "'");
echo "geupdate";
}
else
{
$query = mysql_query("SELECT bericht FROM dvdfilms WHERE naam='". $_GET['naam'] . "' AND email='" . $_GET['email'] . "' AND id='". $_GET['forumid'] . "'");
if (mysql_num_rows($query) >= 1)
{
while ($rij = mysql_fetch_assoc($query))
{
echo $rij['bericht'];
echo "<FORM method='POST' action=\"" . $_SERVER['PHP_SELF'] . "\">";
echo "<input type=\"hidden\" value=\" . $rij['forumid'] . "\" name=\"id\">";
echo "Nieuw bericht: <textarea cols='20' rows='5' name='bericht' id='bericht'></textarea>";
echo "<br><input type='submit' name='submit' value='verzenden'>";
}
}
else
{
echo "Er is iets misgegaan!".mysql_error();
}
}
1 ding, waarom zette je bovenin Get['forumid'] en in de query GET['id']... Je moet 1 van de 2 gebruiken... En die waarde gebruiken in URL
Gewijzigd op 12/05/2005 21:31:00 door Willem Jan Z
include ("test.php");
if (isset($_POST['submit']) && isset($_GET['id']) && isset($_POST['bericht'])){
mysql_query("UPDATE tabel SET bericht='" . $_POST['bericht'] . "' WHERE id='" . $_GET['id'] . "'");
echo "geupdate";
}
else
{
$query = mysql_query("SELECT bericht FROM dvdfilms WHERE naam='". $_GET['naam'] . "' AND email='" . $_GET['email'] . "' AND id='". $_GET['id'] . "'");
if (mysql_num_rows($query) >= 1)
{
while ($rij = mysql_fetch_assoc($query))
{
echo $rij['bericht'];
echo "<FORM method='POST' action=\"" . $_SERVER['PHP_SELF'] . "\">";
echo "<input type='hidden' value=\"" . $rij['id'] . "\" name='id'>";
echo "Nieuw bericht: <textarea cols='20' rows='5' name='bericht' id='bericht'></textarea>";
echo "<br><input type='submit' name='submit' value='verzenden'>";
}
}
else
{
echo "Er is iets misgegaan!".mysql_error();
}
}
Waarom heb je het verwerkt? Probeer hem eens zonder er iets aan te veranderen
Notice: Undefined index: naam
Notice: Undefined index: email in
Notice: Undefined index: id
Er is iets misgegaan!
Quote:
$query = mysql_query("SELECT bericht FROM dvdfilms WHERE naam='". $_GET['naam'] . "' AND email='" . $_GET['email'] . "' AND id='". $_GET['forumid'] . "'");
Wel, is $_GET['naam'], $_GET['email'], en $_GET['forumid'] er?
Maw: jepagina.php?naam=Bleh&[email protected]&forumid=2232
?
Als dit klopt, bestaat het record met die voorwaarden wel? Bestaat de tabel waar je uit wil selecteren wel? Etc...
Maar als er nog niks in zit, kan je er ook niks uithalen.. Stop eens wat met de hand (met phpmyadmin) in je database, dan zal het wel werken denk ik...
de kolom forumid bestaat niet maar de kolom id wel dus heb alle forumid's in id verandert voor de rest staan der al aardig wat gegevens in de mysql tabel waar ik uit selecteer en de begin pagina word perfect totdat ik op submit en dan krijg ik die error
Dus je stopt in inhoud van $_POST['forumid'] in de kolom id, als jij die waardes gaat veranderen van mij, wil hij iets ophalen met id '', welke niet bestaat, daarom is mysql_num_rows 0 waardoor je die fout krijgt... Gebruik nu mijn script... helemaal, zonder iets te veranderen...
Als het dan neit werkt... plak hier de error die je krijgt...
Gewijzigd op 12/05/2005 22:37:00 door Willem Jan Z
Notice: Undefined index: forumid in
Er is iets misgegaan!
En het is een notice geen error... Maar omdat er geen forumid is opgegeven kan de query niet worden uitgevoerd. Heb ik in mijn vorige post uitgelegd.
Dus wat je moet doen is de URL zo opbouwen, zoals je zelf zei...
formulier.php?naam=naam&email=email&forumid=forumid
En niet weer gaan zeuren dat forumid niet bestaat in je tabel...