kan nieuwsbericht niet wijzigen
jeroenoa - 17/08/2005 16:39
Onbekend
ik heb de pagina wijzigen.php
hij geeft ook aan dat alles goed is maar hij wijzigt hem niet:!:
<html>
<head>
<title>g3n1u54tpl4y - bericht verwijderd</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<?php
include "config.php";
include "header.php";
if($_SERVER['REQUEST_METHOD'] == "POST")
{
mysql_query("UPDATE `nieuws` SET `titel`='" .$_POST[titel]. "', `auteur`='".$_POST[auteur]."', `datum`='".$nieuws[datum]."', `tijd`='".$nieuws[tijd]."', `artikel1`='".$_POST[artikel1]."', `artikel2`='".$_POST[artikel2]."' WHERE `id` = '" . $_GET[ 'id' ] . "' ") or die("Er is iets verkeerd gegaan met de database");
echo 'Je bericht is succesvol gewijzigd!<br><a href=javascript:history.go(-1)>Ga terug</a>';
}
else
{
$resultaat = mysql_query("SELECT * FROM nieuws WHERE id='" .$_GET["id"]."'");
$nieuws = mysql_fetch_array($resultaat, MYSQL_ASSOC);
echo ' <center><table width=600><tr><td>
<h3>Nieuws wijzigen</h3></td></tr>
<tr><td>
<form action="wijzigen.php" method="post">
<input type="hidden" name="submit" value="yes">
<TABLE>
<TR>
<TD WIDTH=200>* Titel:</TD>
<TD><input type="text" name="titel" value="' . $nieuws['titel'] . '"></TD>
</TR>
<TR>
<TD>* Auteur:</TD>
<TD><input type="text" name="auteur" value="' . $nieuws['auteur'] . '"></TD>
</TR>
<TD>Datum:</TD>
<TD>' . $nieuws['datum'] . ' om ' . $nieuws['tijd'] . '</TD>
</TR>
<TR>
<TD>* Hoofdartikel:</TD>
<TD><textarea name="artikel1" rows=9 cols=50>' . $nieuws['artikel1'] . '</textarea></TD>
</TR>
<TR>
<TD>* Details:</TD>
<TD><textarea name="artikel2" rows=9 cols=50>' . $nieuws['artikel2'] . '</textarea></TD>
</TR>
<TR>
<TD><input type="hidden" name="id" value='. $_GET['id'] . '></TD>
<TD ALIGN=CENTER><input type="submit" value=" Bewerk "></TD>
</TR>
</TABLE>
</td></tr>
</table>';
}
include "footer.php";
?>
<html>
<head>
<title>g3n1u54tpl4y - bericht verwijderd</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<?php
include "config.php" ;
include "header.php" ;
if ( $_SERVER [ 'REQUEST_METHOD' ] == "POST" )
{
mysql_query ( "UPDATE `nieuws` SET `titel`='" . $_POST [ titel
] . "', `auteur`='" . $_POST [ auteur
] . "', `datum`='" . $nieuws [ datum
] . "', `tijd`='" . $nieuws [ tijd
] . "', `artikel1`='" . $_POST [ artikel1
] . "', `artikel2`='" . $_POST [ artikel2
] . "' WHERE `id` = '" . $_GET [ 'id' ] . "' " ) or
die ( "Er is iets verkeerd gegaan met de database" ) ;
echo 'Je bericht is succesvol gewijzigd!<br><a href=javascript:history.go(-1)>Ga terug</a>' ; }
else
{
$resultaat = mysql_query ( "SELECT * FROM nieuws WHERE id='" . $_GET [ "id" ] . "'" ) ;
echo ' <center><table width=600><tr><td> <h3>Nieuws wijzigen</h3></td></tr>
<tr><td>
<form action="wijzigen.php" method="post">
<input type="hidden" name="submit" value="yes">
<TABLE>
<TR>
<TD WIDTH=200>* Titel:</TD>
<TD><input type="text" name="titel" value="' . $nieuws [ 'titel' ] . '"></TD>
</TR>
<TR>
<TD>* Auteur:</TD>
<TD><input type="text" name="auteur" value="' . $nieuws [ 'auteur' ] . '"></TD>
</TR>
<TD>Datum:</TD>
<TD>' . $nieuws [ 'datum' ] . ' om ' . $nieuws [ 'tijd' ] . '</TD>
</TR>
<TR>
<TD>* Hoofdartikel:</TD>
<TD><textarea name="artikel1" rows=9 cols=50>' . $nieuws [ 'artikel1' ] . '</textarea></TD>
</TR>
<TR>
<TD>* Details:</TD>
<TD><textarea name="artikel2" rows=9 cols=50>' . $nieuws [ 'artikel2' ] . '</textarea></TD>
</TR>
<TR>
<TD><input type="hidden" name="id" value=' . $_GET [ 'id' ] . '></TD>
<TD ALIGN=CENTER><input type="submit" value=" Bewerk "></TD>
</TR>
</TABLE>
</td></tr>
</table>' ;
}
include "footer.php" ;
?>
12 antwoorden
Gesponsorde links
nemesiskoen - 17/08/2005 16:46
PHP expert
1) geen forms echoën
2) addslashes rond je items gooien voor je ze wegschrijft
3) oplossing:
<form action="wijzigen.php" method="post">
< form action= "wijzigen.php" method= "post" >
=>
<form action="wijzigen.php?id<?= $_GET['id'] ?>" method="post">
<form action="wijzigen.php?id<?= $_GET [ 'id' ] ?> " method="post">
jeroenoa - 17/08/2005 16:48
Onbekend
:o
waar moet ik die form neerzetten dan?
Legolas - 17/08/2005 16:51
Onbekend
@nemesiskoen: wijzigen.php?id<?= $_GET['id'] ?>
=>
wijzigen.php?id=<?= $_GET['id'] ?>
;-)
jeroenoa - 17/08/2005 16:53
Onbekend
wijzigen.php?id=<? $_GET['id'] ?>
;-)
dan kan dat ook maar hoe moet ik die form uit de echo zetten?
Legolas - 17/08/2005 16:57
Onbekend
(Als ik eerlijk mag zijn)
Dat is een heel werk, ik doe het nooit want werk met templates..:p
Maareh als ik toch gewoon html met echo heb, dan had ik gewoon php beëindigd na de { van else, en daarna alle variabelen echoen dmv <?= <varnaam>; ?> en voor } weer met <? starten.
Maar dit is veel werk. net geprobeerd, maar halverwege had ik geen zin/tijd meer:p
nemesiskoen - 17/08/2005 16:58 (laatste wijziging 17/08/2005 17:04)
PHP expert
try this:
<?php
/* geweldige functie:), net geschreven en het nut om een $_POST en $_GET array te beveiligen speelt een grote rol! */
function addslashesArray($arr){
$retArr = array();
foreach($arr as $key => $value){
$retArr[$key] = addslashes($value);
}
return $retArr;
}
?><html>
<head>
<title>g3n1u54tpl4y - bericht verwijderd</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<?php
include "config.php";
include "header.php";
if($_SERVER['REQUEST_METHOD'] == "POST")
{
$_POST = addslashesArray($_POST);
mysql_query("UPDATE `nieuws` SET `titel`='" .$_POST[titel]. "', `auteur`='".$_POST[auteur])."', `artikel1`='".$_POST[artikel1]."', `artikel2`='".$_POST[artikel2]."' WHERE `id` = '" . $_GET[ 'id' ] . "' ") or die("Er is iets verkeerd gegaan met de database");
echo 'Je bericht is succesvol gewijzigd!<br><a href=javascript:history.go(-1)>Ga terug</a>';
}
else
{
$resultaat = mysql_query("SELECT * FROM nieuws WHERE id='" .$_GET["id"]."'");
$nieuws = mysql_fetch_array($resultaat, MYSQL_ASSOC);
?><center><table width=600><tr><td>
<h3>Nieuws wijzigen</h3></td></tr>
<tr><td>
<form action="wijzigen.php?id=<?= $_GET['id']; ?>" method="post">
<input type="hidden" name="submit" value="yes">
<TABLE>
<TR>
<TD WIDTH=200>* Titel:</TD>
<TD><input type="text" name="titel" value="<?php echo $nieuws['titel'] ?>"></TD>
</TR>
<TR>
<TD>* Auteur:</TD>
<TD><input type="text" name="auteur" value="<?php echo $nieuws['auteur'] ?>"></TD>
</TR>
<TD>Datum:</TD>
<TD><?= $nieuws['datum'] ?> om <?= $nieuws['tijd'] ?></TD>
</TR>
<TR>
<TD>* Hoofdartikel:</TD>
<TD><textarea name="artikel1" rows=9 cols=50><?= $nieuws['artikel1'] ?></textarea></TD>
</TR>
<TR>
<TD>* Details:</TD>
<TD><textarea name="artikel2" rows=9 cols=50><?= $nieuws['artikel2'] ?></textarea></TD>
</TR>
<TR>
<TD><input type="hidden" name="id" value="<?= $_GET['id'] ?>"></TD>
<TD ALIGN=CENTER><input type="submit" value=" Bewerk "></TD>
</TR>
</TABLE>
</td></tr>
</table>
<?php
}
include "footer.php";
?>
<?php
/* geweldige functie:), net geschreven en het nut om een $_POST en $_GET array te beveiligen speelt een grote rol! */
function addslashesArray( $arr ) {
foreach ( $arr as $key => $value ) {
}
return $retArr ;
}
?> <html>
<head>
<title>g3n1u54tpl4y - bericht verwijderd</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<?php
include "config.php" ;
include "header.php" ;
if ( $_SERVER [ 'REQUEST_METHOD' ] == "POST" )
{
$_POST = addslashesArray( $_POST ) ;
mysql_query ( "UPDATE `nieuws` SET `titel`='" . $_POST [ titel
] . "', `auteur`='" . $_POST [ auteur
] ) . "', `artikel1`='" . $_POST [ artikel1
] . "', `artikel2`='" . $_POST [ artikel2
] . "' WHERE `id` = '" . $_GET [ 'id' ] . "' " ) or
die ( "Er is iets verkeerd gegaan met de database" ) ;
echo 'Je bericht is succesvol gewijzigd!<br><a href=javascript:history.go(-1)>Ga terug</a>' ; }
else
{
$resultaat = mysql_query ( "SELECT * FROM nieuws WHERE id='" . $_GET [ "id" ] . "'" ) ;
?> <center><table width=600><tr><td>
<h3>Nieuws wijzigen</h3></td></tr>
<tr><td>
<form action="wijzigen.php?id=<?= $_GET [ 'id' ] ; ?> " method="post">
<input type="hidden" name="submit" value="yes">
<TABLE>
<TR>
<TD WIDTH=200>* Titel:</TD>
<TD><input type="text" name="titel" value="
<?php echo $nieuws [ 'titel' ] ?> "></TD>
</TR>
<TR>
<TD>* Auteur:</TD>
<TD><input type="text" name="auteur" value="
<?php echo $nieuws [ 'auteur' ] ?> "></TD>
</TR>
<TD>Datum:</TD>
<TD><?= $nieuws [ 'datum' ] ?> om <?= $nieuws [ 'tijd' ] ?> </TD>
</TR>
<TR>
<TD>* Hoofdartikel:</TD>
<TD><textarea name="artikel1" rows=9 cols=50><?= $nieuws [ 'artikel1' ] ?> </textarea></TD>
</TR>
<TR>
<TD>* Details:</TD>
<TD><textarea name="artikel2" rows=9 cols=50><?= $nieuws [ 'artikel2' ] ?> </textarea></TD>
</TR>
<TR>
<TD><input type="hidden" name="id" value="<?= $_GET [ 'id' ] ?> "></TD>
<TD ALIGN=CENTER><input type="submit" value=" Bewerk "></TD>
</TR>
</TABLE>
</td></tr>
</table>
<?php
}
include "footer.php" ;
?>
@legolas: je hebt gelijk, "=" vergeten:)
Legolas - 17/08/2005 17:27
Onbekend
@nemesiskoen: Sorry hoor maar ik denk dat ik het fout heb, maar de $_POST array kun je toch alleen lezen, niet vullen? of heb ik dat nu fout?:)
nemesiskoen - 17/08/2005 17:33
PHP expert
<?php
$_POST['la']="blaat";
echo $_POST['la'];
?>
<?php
$_POST [ 'la' ] = "blaat" ;
?>
output: blaat
$_POST is een array als geen ander, alleen bevat het gegevens uit formulieren zodat deze geordend zijn. Je kan, vanaf het aanroepen van het script de $_POST array gebruiken als eender welke array alleen zullen er in sommige gevallen gegevens inzitten.
jeroenoa - 17/08/2005 17:41 (laatste wijziging 17/08/2005 17:59)
Onbekend
@ nemesiskoen
hij doet het nog niet hij geeft een parse error op regel 25:'(
graag ontopic
Ibrahim - 17/08/2005 22:46 (laatste wijziging 17/08/2005 22:47)
PHP expert
<?php
mysql_query("UPDATE `nieuws` SET `titel`='" .$_POST[titel]. "', `auteur`='".$_POST[auteur])."', `artikel1`='".$_POST[artikel1]."', `artikel2`='".$_POST[artikel2]."' WHERE `id` = '" . $_GET[ 'id' ] . "' ") or die("Er is iets verkeerd gegaan met de database");
?>
<?php
mysql_query ( "UPDATE `nieuws` SET `titel`='" . $_POST [ titel
] . "', `auteur`='" . $_POST [ auteur
] ) . "', `artikel1`='" . $_POST [ artikel1
] . "', `artikel2`='" . $_POST [ artikel2
] . "' WHERE `id` = '" . $_GET [ 'id' ] . "' " ) or
die ( "Er is iets verkeerd gegaan met de database" ) ; ?>
veranderen in:
<?php
mysql_query("UPDATE `nieuws` SET
`titel`='" .$_POST[titel]. "',
`auteur`='".$_POST[auteur]."',
`artikel1`='".$_POST[artikel1]."',
`artikel2`='".$_POST[artikel2]."'
WHERE `id` = '" . $_GET[ 'id' ] . "'
")
or die("Er is iets verkeerd gegaan met de database");
?>
<?php
`titel`='" . $_POST [ titel] . "',
`auteur`='" . $_POST [ auteur] . "',
`artikel1`='" . $_POST [ artikel1] . "',
`artikel2`='" . $_POST [ artikel2] . "'
WHERE `id` = '" . $_GET [ 'id' ] . "'
" )
or
die ( "Er is iets verkeerd gegaan met de database" ) ; ?>
de fout was dat er een haakje stond na $_POST['auteur']."'
en offtopic: HAHA de eerste keer dat een admin is gezegd dat ie ontopic moet zijn
Gesponsorde links
Dit onderwerp is gesloten .