Gästebuch Funktionen

kurdboy-47

Grünschnabel
Hallo liebes Forum.

Vorerst möchte ich sagen das ich neu im php Bereich bin.

Also : Ich habe mir vorgenommen ein Gästebuch zu programmieren so.

Mein Gästebuch habe ich dann angefanegn jetzt kann man einen Eintrag schreiben und löschen.

Jedoch will ich das nur der Gästebuch Inhbaben ( user ) diese einträge löschen kann.
Das heißt: jeder User hat ei Eigenes gästebuch wo andere User was reinschreiben können.
Sollte es dem gästebuch inhaber nciht gefallen steht dort ein löschen btton für ihn bereit.


Meine datenbank struktur sieht so aus:
id
name
nachricht
datum

Hier mein löschfuktion ...

HTML:
<form method="POST" action="index.php?delete=gbeintrag&id='.$row['id'].'" ><input type="submit" name="delete" value="Löschen" /></form>
PHP:
$id = $_GET['id'];
if (isset($_POST['delete'])){
$sql = mysql_query("DELETE FROM gb WHERE `id` = '$id'");
}

Das löschen funktioniert aber ich will nur das der User dem das Gästebuch gehört diese Funktion oder besser gesagt den Button sieht.

Danke für jede Hilfe
 
Hallo,
hast Du nur die eine Tabelle wo die Gb-Einträge gespeichert werden?
Man müsste ja wissen wem dieses Gästebuch gehört, also in welches reingeschrieben wurde,
und damit man weis wem das Gästebuch gehört bräuchte man einen Login und eine, ich nenne sie mal, user_id, diese in einer SESSION speichern, ich würde in deine Tabele noch eine Feld einfügen, welches den Besitzer des Gästebuches aufnimmt bspw. gbook_owner_id (als index setzten natürlich). Dann die gb tabelle abfragen etwa so:

PHP:
$select = "SELECT id, name, nachricht, datum FROM gb WHERE gbook_owner_id =". $_SESSION['user_id'];

$query = mysql_query($select);
while($row = mysql_fetch_object($query)){
echo "<a href='loeschen.php?value=".$row->id."'>Löschen</a><br>";
}
so kann dann jeder die einträge löschen die auch aus seinem Gästebuch kommen, ist zwar nicht ganz was du wolltest aber sollte zummindest als denkanstoss dienen ^.^

BTW: der obige code ist ungestet.
 
Zuletzt bearbeitet:
Also ich formuliere es mal anders :

Also ich habe ein Gästebuch programmiert.
Jeder User der EINGELOGT ist kann einen Eintrag verfassen und löschen.
Jetzt will ich aber das nur der User dem das Gästebuch gehört diesen Lösch Button sieht.
Mit einer if abfrage wär das machbar nur weiß ich nicht was ich in die if abfrage schreiben muss und was für eine Spalte ich in die Datenbank eintragen muss.

Datenbank :

id
name
nachricht
datum

Ich Hoffe einer kann mir Helfen und es auch gut erklären denn ich will nicht nur Kopieren ... ich will es auch verstehen.

Danke
 
Möglichkeit 1:
Die ID den Eingeloggten mit der ID des Besitzers vergleichen.
Beim Einloggen musst du sowieso eine SQL-Abfrage machen, ob es den User mit dem Passwort auch gibt. Damit der Benutzer auch eingeloggt bleibt musst du Namen oder ID zB. in SESSION speichern.

Jetzt machst du dann eben noch ein if dazu, dass der Lösch-Button nur angezeigt wird, wenn die Session-Id gleich der Besitzer-Id ist, die wahrscheinlich 1 ist und so fix im Code stehen kann.

Auch beim index.php?delete... muss noch eine Abfrage rein, ob es wirklich vom Besitzer aufgerufen wird.

Möglichkeit 2: In der DB eine Spalte darfloeschen (oder so) dazu.
Dann kannst du auch mehreren Usern Löschrechte geben.

PS: Auch ein fetter Beitrag macht die Sache nicht dringender.

Gruß
 
Zurück