Http_post_vars werkt niet...?
Lazlo - 27/04/2006 15:57
HTML beginner
Het bewerk gedeelte van de volgende code blijkt niet te werken... Hij stuurt de variabelen niet mee.
Hoe kan ik dit oplossen, ligt het aan de http_post_vars? zo ja wat kan ik dan als alternatief gebruiken.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> | Foreign-X Admin| </title>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="../css/style.css" />
</head>
<body>
<?
require("../includes/global.inc.php");
echo "<script type=\"text/javascript\">\n";
echo "function askConfirm(txt,url) {\n";
echo "if (confirm(txt) == true) {\n";
echo "document.location=url\n";
echo "return true;\n";
echo "} \n";
echo "}\n";
echo "</script>";
//-- navigatie
echo "<p><a href=\"$PHP_SELF?action=add\">bericht toevoegen</a> | <a href=\"nieuws.php\">overzicht berichten</a></p>";
//-- toevoegen
if ($_GET['action'] == 'add')
{
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
if( empty( $_POST['titel'] ) OR empty( $_POST['naam'] ) OR empty( $_POST['bericht'] ) OR empty( $_POST['datum'] ) OR empty( $_POST['tijd'] ) )
{
echo 'Je moet alle velden invullen! <a href="javascript:history.back(-1)">Ga terug!</a>';
}
else
{
$query = mysql_query( "
INSERT INTO
nieuws(titel , naam , bericht , datum , tijd )
VALUES('" . $_POST['titel'] . "' , '" . $_POST['naam'] . "' , '" . $_POST['bericht'] . "' , '" . $_POST['datum'] . "' , '" . $_POST['tijd'] . "')
" )
or die( mysql_error() );
echo 'Je bericht is succevol toegevoegd aan de site!';
}
}
else
{
echo '
<b>Plaats een nieuw bericht!</b>
<br />
<br />
<form method="post" action="">
<input type="hidden" readonly="readonly" name="datum" maxlength="10" size="10" value="' . date("d-m-Y") . '" />
<input type="hidden" readonly="readonly" name="tijd" maxlength="10" size="10" value="' . date("H:i:s") . '" />
Naam: <input type="text" name="naam" maxlength="10" size="10" /> <br />
Titel: <input type="text" name="titel" maxlength="50" size="10" /> <br />
Bericht: <textarea name="bericht" rows="25" cols="60"></textarea> <br /> <br />
<input type="submit" name="submit" value="Toevoegen!" />
</form>
';
}
}
//-- verwijderen
elseif ($HTTP_GET_VARS["action"] == "del")
{
if (is_numeric($HTTP_GET_VARS["id"]))
{
$sql = "DELETE FROM nieuws WHERE id = $HTTP_GET_VARS[id]";
$res = mysql_query($sql);
if ($res)
{
echo "Bericht verwijderd.";
}
else
{
echo "Bericht is niet verwijderd.";
}
}
else
{
echo "Geen geldig id.";
}
}
//-- bewerken
elseif ($HTTP_GET_VARS["action"] == "edit" || $HTTP_POST_VARS[action] == "edit")
{
if ($HTTP_POST_VARS["titel"] && $HTTP_POST_VARS["bericht"])
{
$sql = "UPDATE nieuws SET titel = '$HTTP_POST_VARS[titel]', bericht = '$HTTP_POST_VARS[bericht]' WHERE id = '$HTTP_POST_VARS[id]'";
$res = mysql_query($sql);
if ($res)
{
echo "Het nieuwsbericht is succesvol bijgewerkt.";
}
else
{
echo "Het nieuwsbericht is niet bijgewerkt.";
}
}
else
{
$sql = "SELECT id,titel,datum,tijd,bericht FROM nieuws WHERE id = $HTTP_GET_VARS[id]";
$res = mysql_query($sql);
if ($res)
{
$row = mysql_fetch_array($res);
echo "<p>Bewerk een bericht</p>";
echo "<form method=\"post\" action=\"nieuws.php\">";
echo "<input type=\"hidden\" name=\"show\" value=\"edit\">";
echo "<input type=\"hidden\" name=\"id\" value=\"$row[id]\">";
echo "<input type=\"hidden\" readonly=\"readonly\" size=\"10\" maxlength=\"10\" value=\"$row[datum]\" name=\"datum\">";
echo "<input type=\"hidden\" readonly=\"readonly\" size=\"10\" maxlength=\"10\" value=\"$row[tijd]\" name=\"tijd\">";
echo "Titel: <input type=\"text\" size=\"30\" name=\"titel\" value=\"$row[titel]\"><br>";
echo "Bericht:<br>";
echo "<textarea name=\"bericht\" rows=\"25\" cols=\"60\">$row[bericht]</textarea><br>";
echo "<input type=\"submit\" name=\"submit\" value=\"Bewerken\">";
echo "</form>";
}
else
{
echo "Geen geldig id.";
}
}
}
//-- overzicht
else
{
$sql = "SELECT id,titel FROM nieuws ORDER BY id DESC,datum DESC";
$res = mysql_query($sql);
echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"5\">";
echo "<tr><td width=\"300\"><b>Titel</b></td><td><b>Bewerken</b></td><td><b>Wissen</b></td></tr>";
while ($row = mysql_fetch_array($res))
{
echo "<tr><td>$row[titel]</td><td><center><a href=\"nieuws.php?action=edit&id=$row[id]\"><img src=\"images/edit.gif\" width=\"18\" height=\"16\" border=\"0\" /></a></center></td><td><center><a href=\"javascript:askConfirm('Wilt%20u%20$row[titel]%20verwijderen?','nieuws.php?action=del&id=$row[id]');\"><img src=\"images/delete.gif\" width=\"16\" height=\"16\" border=\"0\" /></a></center></td></tr>";
}
echo "</table>";
}
?>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> | Foreign-X Admin| </title>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="../css/style.css" />
</head>
<body>
<?
require ( "../includes/global.inc.php" ) ;
echo "<script type=\" text/javascript\" >\n " ;
echo "function askConfirm(txt,url) {\n " ; echo "if (confirm(txt) == true) {\n " ; echo "document.location=url\n " ;
//-- navigatie
echo "<p><a href=\" $PHP_SELF ?action=add\" >bericht toevoegen</a> | <a href=\" nieuws.php\" >overzicht berichten</a></p>" ;
//-- toevoegen
if ( $_GET [ 'action' ] == 'add' )
{
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' )
{
if ( empty ( $_POST [ 'titel' ] ) OR
empty ( $_POST [ 'naam' ] ) OR
empty ( $_POST [ 'bericht' ] ) OR
empty ( $_POST [ 'datum' ] ) OR
empty ( $_POST [ 'tijd' ] ) ) {
echo 'Je moet alle velden invullen! <a href="javascript:history.back(-1)">Ga terug!</a>' ; }
else
{
INSERT INTO
nieuws(titel , naam , bericht , datum , tijd )
VALUES('" . $_POST [ 'titel' ] . "' , '" . $_POST [ 'naam' ] . "' , '" . $_POST [ 'bericht' ] . "' , '" . $_POST [ 'datum' ] . "' , '" . $_POST [ 'tijd' ] . "')
" )
echo 'Je bericht is succevol toegevoegd aan de site!' ; }
}
else
{
<b>Plaats een nieuw bericht!</b>
<br />
<br />
<form method="post" action="">
<input type="hidden" readonly="readonly" name="datum" maxlength="10" size="10" value="' . date ( "d-m-Y" ) . '" /> <input type="hidden" readonly="readonly" name="tijd" maxlength="10" size="10" value="' . date ( "H:i:s" ) . '" /> Naam: <input type="text" name="naam" maxlength="10" size="10" /> <br />
Titel: <input type="text" name="titel" maxlength="50" size="10" /> <br />
Bericht: <textarea name="bericht" rows="25" cols="60"></textarea> <br /> <br />
<input type="submit" name="submit" value="Toevoegen!" />
</form>
' ;
}
}
//-- verwijderen
elseif ( $HTTP_GET_VARS [ "action" ] == "del" )
{
{
$sql = "DELETE FROM nieuws WHERE id = $HTTP_GET_VARS[id] " ;
if ( $res )
{
echo "Bericht verwijderd." ; }
else
{
echo "Bericht is niet verwijderd." ; }
}
else
{
}
}
//-- bewerken
elseif ( $HTTP_GET_VARS [ "action" ] == "edit" || $HTTP_POST_VARS [ action] == "edit" )
{
if ( $HTTP_POST_VARS [ "titel" ] && $HTTP_POST_VARS [ "bericht" ] )
{
$sql = "UPDATE nieuws SET titel = '$HTTP_POST_VARS[titel] ', bericht = '$HTTP_POST_VARS[bericht] ' WHERE id = '$HTTP_POST_VARS[id] '" ;
if ( $res )
{
echo "Het nieuwsbericht is succesvol bijgewerkt." ; }
else
{
echo "Het nieuwsbericht is niet bijgewerkt." ; }
}
else
{
$sql = "SELECT id,titel,datum,tijd,bericht FROM nieuws WHERE id = $HTTP_GET_VARS[id] " ;
if ( $res )
{
echo "<p>Bewerk een bericht</p>" ; echo "<form method=\" post\" action=\" nieuws.php\" >" ; echo "<input type=\" hidden\" name=\" show\" value=\" edit\" >" ; echo "<input type=\" hidden\" name=\" id\" value=\" $row[id] \" >" ; echo "<input type=\" hidden\" readonly=\" readonly\" size=\" 10\" maxlength=\" 10\" value=\" $row[datum] \" name=\" datum\" >" ; echo "<input type=\" hidden\" readonly=\" readonly\" size=\" 10\" maxlength=\" 10\" value=\" $row[tijd] \" name=\" tijd\" >" ; echo "Titel: <input type=\" text\" size=\" 30\" name=\" titel\" value=\" $row[titel] \" ><br>" ; echo "<textarea name=\" bericht\" rows=\" 25\" cols=\" 60\" >$row[bericht] </textarea><br>" ; echo "<input type=\" submit\" name=\" submit\" value=\" Bewerken\" >" ; }
else
{
}
}
}
//-- overzicht
else
{
$sql = "SELECT id,titel FROM nieuws ORDER BY id DESC,datum DESC" ;
echo "<table border=\" 1\" cellspacing=\" 0\" cellpadding=\" 5\" >" ; echo "<tr><td width=\" 300\" ><b>Titel</b></td><td><b>Bewerken</b></td><td><b>Wissen</b></td></tr>" ; {
echo "<tr><td>$row[titel] </td><td><center><a href=\" nieuws.php?action=edit&id=$row[id] \" ><img src=\" images/edit.gif\" width=\" 18\" height=\" 16\" border=\" 0\" /></a></center></td><td><center><a href=\" javascript:askConfirm('Wilt%20u %20$row[titel] %20verwijderen?','nieuws.php?action=del&id=$row[id] ');\" ><img src=\" images/delete.gif\" width=\" 16\" height=\" 16\" border=\" 0\" /></a></center></td></tr>" ; }
}
?>
</body>
</html>
:?:
6 antwoorden
Gesponsorde links
nemesiskoen - 27/04/2006 15:59
PHP expert
Verander overal http_post_vars in $_POST en http_get_vars in $_GET
Bv.
elseif ($_GET["action"] == "del")
==
elseif ($_GET["action"] == "del")
elseif ( $_GET [ "action" ] == "del" )
==
elseif ( $_GET [ "action" ] == "del" )
timo - 27/04/2006 15:59 (laatste wijziging 27/04/2006 16:11)
PHP ver gevorderde
a) Variabelen buiten quotes
b) HTTP_POST_VARS = heeeeel oud..
wacht even, dan script ik wel ff netjes voor je...
EDIT:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> | Foreign-X Admin| </title>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="../css/style.css" />
<script type=\"text/javascript\">
function askConfirm(txt,url) {
if (confirm(txt) == true)
document.location=url;
return true;
}
}
</script>
</head>
<body>
<?
require("../includes/global.inc.php");
//-- navigatie
echo '<p><a href="'.$PHP_SELF.'?action=add">bericht toevoegen</a> | <a href="nieuws.php">overzicht berichten</a></p>';
//-- toevoegen
if ($_GET['action'] == 'add')
{
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
if( empty( $_POST['titel'] ) OR empty( $_POST['naam'] ) OR empty( $_POST['bericht'] ) OR empty( $_POST['datum'] ) OR empty( $_POST['tijd'] ) )
{
echo 'Je moet alle velden invullen! <a href="javascript:history.back(-1)">Ga terug!</a>';
}
else
{
$query = mysql_query( "
INSERT INTO
nieuws(titel , naam , bericht , datum , tijd )
VALUES('" . $_POST['titel'] . "' , '" . $_POST['naam'] . "' , '" . $_POST['bericht'] . "' , '" . $_POST['datum'] . "' , '" . $_POST['tijd'] . "')
" )
or die( mysql_error() );
echo 'Je bericht is succevol toegevoegd aan de site!';
}
}
else
{
echo '
<b>Plaats een nieuw bericht!</b>
<br />
<br />
<form method="post" action="">
<input type="hidden" readonly="readonly" name="datum" maxlength="10" size="10" value="' . date("d-m-Y") . '" />
<input type="hidden" readonly="readonly" name="tijd" maxlength="10" size="10" value="' . date("H:i:s") . '" />
Naam: <input type="text" name="naam" maxlength="10" size="10" /> <br />
Titel: <input type="text" name="titel" maxlength="50" size="10" /> <br />
Bericht: <textarea name="bericht" rows="25" cols="60"></textarea> <br /> <br />
<input type="submit" name="submit" value="Toevoegen!" />
</form>
';
}
}
//-- verwijderen
elseif ($_GET["action"] == "del")
{
if (is_numeric($_GET["id"]))
{
$sql = "DELETE FROM nieuws WHERE id = ".addslashes($_GET['id']);
$res = mysql_query($sql);
if ($res)
{
echo "Bericht verwijderd.";
}
else
{
echo "Bericht is niet verwijderd.";
}
}
else
{
echo "Geen geldig id.";
}
}
//-- bewerken
elseif ($_GET["action"] == "edit" || $_POST[action] == "edit")
{
if ($_POST["titel"] && $_POST["bericht"])
{
$sql = "UPDATE nieuws SET titel = '".$_POST['titel']."', bericht = '".$_POST['bericht']."' WHERE id = '".$_POST['id']."'";
$res = mysql_query($sql);
if ($res)
{
echo "Het nieuwsbericht is succesvol bijgewerkt.";
}
else
{
echo "Het nieuwsbericht is niet bijgewerkt.";
}
}
else
{
$sql = "SELECT id,titel,datum,tijd,bericht FROM nieuws WHERE id = ".$_GET['id'];
$res = mysql_query($sql);
if ($res)
{
$row = mysql_fetch_array($res);
?>
<p>Bewerk een bericht</p>
<form method="post" action="nieuws.php">
<input type="hidden" name="show" value="edit">
<input type="hidden" name="id" value="<?=$row['id'];?>">
<input type="hidden" readonly="readonly" size="10" maxlength="10" value="<?=$row['datum'];?>" name="datum">
<input type="hidden" readonly="readonly" size="10" maxlength="10" value="<?=$row['tijd'];?>" name="tijd">
Titel: <input type="text" size="30" name="titel" value="<?=$row['titel'];?>"><br />
Bericht:<br />
<textarea name=\"bericht\" rows=\"25\" cols=\"60\">$row[bericht]</textarea><br>
<input type="submit" name="submit" value="Bewerken">
</form>
<?
}
else
{
echo "Geen geldig id.";
}
}
}
//-- overzicht
else
{
$sql = "SELECT id,titel FROM nieuws ORDER BY id DESC,datum DESC";
$res = mysql_query($sql);
echo '<table border="1" cellspacing="0" cellpadding="5">';
echo '<tr><td width="300"><b>Titel</b></td><td><b>Bewerken</b></td><td><b>Wissen</b></td></tr>';
while ($row = mysql_fetch_array($res))
{
echo '<tr><td>'.$row['titel'].'</td><td><center>
<a href="nieuws.php?action=edit&id='.$row['id'].'">
<img src="images/edit.gif" width="18" height="16" border="0" />
</a></center></td><td><center>
<a href="javascript:askConfirm(\'Wilt%20u%20'.$row['titel'].'%20verwijderen?\',\'nieuws.php?action=del&id='.$row['id'].'\');">
<img src="images/delete.gif" width="16" height="16" border="0" />
</a></center></td></tr>';
}
echo "</table>";
}
?>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> | Foreign-X Admin| </title>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="../css/style.css" />
<script type=\"text/javascript\">
function askConfirm(txt,url) {
if (confirm(txt) == true)
document.location=url;
return true;
}
}
</script>
</head>
<body>
<?
require ( "../includes/global.inc.php" ) ;
//-- navigatie
echo '<p><a href="' . $PHP_SELF . '?action=add">bericht toevoegen</a> | <a href="nieuws.php">overzicht berichten</a></p>' ;
//-- toevoegen
if ( $_GET [ 'action' ] == 'add' )
{
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' )
{
if ( empty ( $_POST [ 'titel' ] ) OR
empty ( $_POST [ 'naam' ] ) OR
empty ( $_POST [ 'bericht' ] ) OR
empty ( $_POST [ 'datum' ] ) OR
empty ( $_POST [ 'tijd' ] ) ) {
echo 'Je moet alle velden invullen! <a href="javascript:history.back(-1)">Ga terug!</a>' ; }
else
{
INSERT INTO
nieuws(titel , naam , bericht , datum , tijd )
VALUES('" . $_POST [ 'titel' ] . "' , '" . $_POST [ 'naam' ] . "' , '" . $_POST [ 'bericht' ] . "' , '" . $_POST [ 'datum' ] . "' , '" . $_POST [ 'tijd' ] . "')
" )
echo 'Je bericht is succevol toegevoegd aan de site!' ; }
}
else
{
<b>Plaats een nieuw bericht!</b>
<br />
<br />
<form method="post" action="">
<input type="hidden" readonly="readonly" name="datum" maxlength="10" size="10" value="' . date ( "d-m-Y" ) . '" /> <input type="hidden" readonly="readonly" name="tijd" maxlength="10" size="10" value="' . date ( "H:i:s" ) . '" /> Naam: <input type="text" name="naam" maxlength="10" size="10" /> <br />
Titel: <input type="text" name="titel" maxlength="50" size="10" /> <br />
Bericht: <textarea name="bericht" rows="25" cols="60"></textarea> <br /> <br />
<input type="submit" name="submit" value="Toevoegen!" />
</form>
' ;
}
}
//-- verwijderen
elseif ( $_GET [ "action" ] == "del" )
{
{
$sql = "DELETE FROM nieuws WHERE id = " . addslashes ( $_GET [ 'id' ] ) ;
if ( $res )
{
echo "Bericht verwijderd." ; }
else
{
echo "Bericht is niet verwijderd." ; }
}
else
{
}
}
//-- bewerken
elseif ( $_GET [ "action" ] == "edit" || $_POST [ action] == "edit" )
{
if ( $_POST [ "titel" ] && $_POST [ "bericht" ] )
{
$sql = "UPDATE nieuws SET titel = '" . $_POST [ 'titel' ] . "', bericht = '" . $_POST [ 'bericht' ] . "' WHERE id = '" . $_POST [ 'id' ] . "'" ;
if ( $res )
{
echo "Het nieuwsbericht is succesvol bijgewerkt." ; }
else
{
echo "Het nieuwsbericht is niet bijgewerkt." ; }
}
else
{
$sql = "SELECT id,titel,datum,tijd,bericht FROM nieuws WHERE id = " . $_GET [ 'id' ] ;
if ( $res )
{
?>
<p>Bewerk een bericht</p>
<form method="post" action="nieuws.php">
<input type="hidden" name="show" value="edit">
<input type="hidden" name="id" value="<?= $row [ 'id' ] ; ?> ">
<input type="hidden" readonly="readonly" size="10" maxlength="10" value="<?= $row [ 'datum' ] ; ?> " name="datum">
<input type="hidden" readonly="readonly" size="10" maxlength="10" value="<?= $row [ 'tijd' ] ; ?> " name="tijd">
Titel: <input type="text" size="30" name="titel" value="<?= $row [ 'titel' ] ; ?> "><br />
Bericht:<br />
<textarea name=\"bericht\" rows=\"25\" cols=\"60\">$row[bericht]</textarea><br>
<input type="submit" name="submit" value="Bewerken">
</form>
<?
}
else
{
}
}
}
//-- overzicht
else
{
$sql = "SELECT id,titel FROM nieuws ORDER BY id DESC,datum DESC" ;
echo '<table border="1" cellspacing="0" cellpadding="5">' ; echo '<tr><td width="300"><b>Titel</b></td><td><b>Bewerken</b></td><td><b>Wissen</b></td></tr>' ; {
echo '<tr><td>' . $row [ 'titel' ] . '</td><td><center> <a href="nieuws.php?action=edit&id=' . $row [ 'id' ] . '">
<img src="images/edit.gif" width="18" height="16" border="0" />
</a></center></td><td><center>
<a href="javascript:askConfirm(\' Wilt% 20u% 20 '.$row[' titel'].' % 20verwijderen?\',\' nieuws. php?action= del& amp; id= '.$row[' id'].' \');">
<img src="images/delete.gif" width="16" height="16" border="0" />
</a></center></td></tr>' ;
}
}
?>
</body>
</html>
trwns: vind je het gek dat het niet werkt.. je doet $HTTP_GET_VARS[id], als het niet nummeriek is altijd quotes (bij array het beste single eromheen, ook proberen html buiten PHP te houden of tenminste niet alles te gaan escapen want dat kost xtra parse tijd, kan je beter single quotes gebruiken als je het dan toch zo graag wilt...
Lazlo - 27/04/2006 16:24
HTML beginner
Dat aangepaste script werkt ook niet, hij redirect gewoon weer naar het bestand en geeft geen bericht of het goed is gegaan of niet...
GTW - 27/04/2006 16:27 (laatste wijziging 27/04/2006 16:28)
PHP gevorderde
En als je
<?
$res = mysql_query($sql);
if ($res)
{
?>
nou eens vervangd door:
<?
if(mysql_query($sql))
{
Dat werkt bij mij iig altijd
Lazlo - 27/04/2006 16:47 (laatste wijziging 28/04/2006 07:33)
HTML beginner
Mmm , nee ook niet.
Ieamand ideeen?
BramBo - 28/04/2006 09:38
JS gevorderde
Wat altijd werkt om te checken welke variabelen je tot je beschikking hebt en welke niet is :
print_r($_POST);
print_r($_GET);
Gesponsorde links
Dit onderwerp is gesloten .