Hallo, ik ben bezig met een gastenboek. Maar ik wil nu ook een admin mode maken waarbij je tabellen kan verwijderen. Ik heb al een script gemaakt waar je al de tabellen kan zien. Maar nu wil ik dat als je op een knop drukt (die achter de tabel staat waar al de waardes staan, zoals id, naam, bericht.) dat hij ook DIE tabel verwijderd. En ik wil het ook hetzelfde met edit.
Wie kan mijn helpen?
Neem wel eerst in verwijder_id.php de code op om verbinding te maken met de database he.

mysql_connect("host", "username", "password");
mysql_select_db("databasenaam");

En het volgende

<form action="<?= $_SERVER['PHP_SELF'] ?>" method="POST">
<tr><td>Nummer<input type="text" name="id_verwijder" SIZE="2" maxlength="3"> moet verwijderd worden.</td></tr>
<tr><td><input type=submit name=verwijder_submit value=Verwijder></td></tr>
</form></table>

<?

if($_POST['verwijder_submit'])
{
$sql1 = "DELETE FROM gastenboek WHERE id='$_POST[id_verwijder]'";
mysql_query($sql1);
echo "<center>Het commentaar is verwijderd!<br>";
echo "<a href=\"admin.php\">Vernieuw het scherm</a></center>";
}


?>

kan je dan volgens mij weghalen, en je moet je link nog eff veranderen naar <A href=\"verwijder_id.php?id=" . $row['id'] . "\">verwijder bericht</A>

Wat krijg je als url adres bij verwijder_id.php? en probeer eens te kijken wat je krijgt als je verwijder_id.php?id=1 direct invoert?
Hij doet het, heel erg dom, om vergeten mijn verbinding te include!!! Staat er nog zelfs boven:S
ik heb alles in 1 bestand verwerkt, omdat dat makkelijker werkt. Maar ik wil ook kunnen editen, maar als ik dan weer met dat id werk, dan verwijderd hij.. omdat hij dat aanstuurd... Dus wat kan ik veranderen. En hoe zorg ik dat de pagina vernieuwd als hij verwijderd is...

(de code)
<center>De gegevens in Gastenboek:</center>
<?
$query = "SELECT * FROM gastenboek ORDER BY id DESC"; $res = mysql_query($query);
if ($row = mysql_fetch_array($res))
{
echo "<table border=1 align=center><tr><td>Id:</td><td>Naam:</td><td>Bericht:</td><td>Opties</td></tr>";
do {
echo "<tr><td>" . $row['id'];
echo "</td><td width=100px align=right>" . $row['naam'];
echo "</td><td width=500px><pre>" . smilie(nl2br($row['bericht']));
echo "</pre></td><td>";
echo "<A href=$_SERVER[PHP_SELF]?id=$row[id]>verwijder</a></tr>";
} while ($row = @mysql_fetch_array($res));
echo "</table>";
}
?>
<br><center><a href=gastenboek.php>Terug naar gastenboek</a><br><br><center><a href="mailto:[email protected]">Codename.Zuiker</a></center>
<?

$sql = "DELETE FROM gastenboek WHERE id='" . $_GET['id'] . "'";
$res = mysql_query($sql);

if($res) {
print "Het is verwijderd!";
}else{
print "Er ging iets fout!";
}
?>
Zelfde soort linkje maken als dat je hebt gemaakt om te verwijderen, maar dan met wijzig:
<A href=\"wijzig_id.php?id=" . $row['id'] . "\">wijzig bericht</A>

En vervolgens wijzig_id.php:

<?php

if(isset($_POST['check'])) {
// LET OP: database verbinding invoegen :P

$sql = "UPDATE gastenboek SET bericht='" . $_POST['bericht'] . "' WHERE id='" . $_GET['id'] . "'";
$res = mysql_query($sql) or die ("FOUT: " . mysql_error());

if($res){
header("Location: gastenboek.php");
}else{
print "Bericht <b>niet</b> gewijzigd";
}
}else{
?>
<FORM name="verwijder" method="POST" action="<?php print $_SERVER['PHP_SELF']; ?>">
<INPUT type="hidden" name="check" value="1">
<TEXTAREA rows="10" cols="50" name="bericht"></TEXTAREA>
<INPUT type="submit" value="wijzig" name="submit">
</FORM>
<?php
}
?>

Zoiets zou moeten lukken, maar heb het niet getest verder dus het kan zijn dat er nog een foutje in zit ergens. Overigens kan je direct doorsturen met header("Location: pagina.php"); of met een META tag

Reageren