Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 19:24

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[PHP] Gästebuch Eintrag löschen -> Eintragsid auslesen aus Link

Discussion on [PHP] Gästebuch Eintrag löschen -> Eintragsid auslesen aus Link within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1

 
adistoe's Avatar
 
elite*gold: 63
Join Date: Oct 2012
Posts: 1,181
Received Thanks: 139
[PHP] Gästebuch Eintrag löschen -> Eintragsid auslesen aus Link

Hallo zusammen

Ich habe ein Gästebuch, welches über eine MySQL Datenbank läuft.
Spalten: ID, Name, E-Mail, Nachricht

Nun möchte ich Einträge löschen können, dafür führt ein Link auf "guestbook-delete.php?id=?" Anstelle des ? steht die Eintragsid.

Nun meine Frage:
Wie kann ich aus dem Link die ?id=? auslesen und damit den richtigen Datensatz löschen?


Ich bedanke mich schonmal im Voraus für Antworten.

Mit freundlichen Grüssen
adistoe

PS: Die ID einfach anzeigen lassen im Dokument funktioniert mit <?php $row->ID; ?>, daher dachte ich mir, müsste auch mit dem Link so funktionieren

#edit: Zweite Frage hat sich schon erledigt, hab ein echo vergessen
adistoe is offline  
Old 03/29/2013, 13:04   #2
 
reCougar's Avatar
 
elite*gold: 1
Join Date: Jan 2013
Posts: 372
Received Thanks: 99
Wenn ich es richtig verstanden habe einfach mit $_GET['id']; ansonsten hab ich die frage nicht gut verstanden.
reCougar is offline  
Thanks
1 User
Old 03/29/2013, 13:08   #3

 
adistoe's Avatar
 
elite*gold: 63
Join Date: Oct 2012
Posts: 1,181
Received Thanks: 139
Also ich hab z.B. den Link

Dann will ich aus dem Link die ID, im Beispiel 5, auslesen können und als mysql_query den Datensatz mit ID 5 löschen.

-> $loeschen = mysql_query("DELETE FROM links WHERE id = >>HIER DIE ID<<");

Wie finde ich die ID da raus?
adistoe is offline  
Old 03/29/2013, 13:09   #4
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
PHP Code:
<?php

mysql_connect
(...); //Verbindung aufbauen, mit benötigten Daten
mysql_select_db(...); //Datenbank verbinden

$qryUser mysql_query("SELECT ID FROM tabelleGaestebuch WHERE ID = '".$row->ID."'");
$rowUser mysql_fetch_object($qryUser);

if(
$rowUser->ID == $row->ID) {
  
mysql_query("DELETE FROM tabelleGaestebuch WHERE ID = '".$rowUser->ID."'"); //Benutzereintrag löschen anhand der ID
  
echo "Eintrag wurde erfolgreich gelöscht.";
}
else {
  echo 
"Eintrag konnte nicht gelöscht werden.";
}
?>
Jetzt bleibt noch die Frage, woher du $row->ID hast, denn da müsstest du ja bereits schon einmal nach dem Benutzer gefragt haben (in welcher Weise auch immer).

p.s du musst natürlich im Code die Daten noch eingeben und den Tabellennamen noch richtig ersetzen.
Mikesch01 is offline  
Thanks
1 User
Old 03/29/2013, 13:17   #5

 
adistoe's Avatar
 
elite*gold: 63
Join Date: Oct 2012
Posts: 1,181
Received Thanks: 139
PHP Code:
      while ($row = mysql_fetch_object($queryResult))
      {
        ?>
        <table border="1" width="60%">
        <tr><td><a href="guestbook-edit.php">Eintrag bearbeiten</a> | [B]<a href="guestbook-delete.php?id=<?php echo $row->ID?>">Eintrag löschen</a><br>[/B]
        E-Mail des Autors: <?PHP echo $row->EMAIL?><br>
        ID: #<?PHP echo $row->ID?></td></tr>
        <tr><td><?php echo $row->VON?> hat am <?php echo $row->DATUM?> geschrieben:</td></tr>
        <tr><td><?php echo nl2br($row->NACHRICHT); ?></td></tr>
        </table><br>
        <?php
      
}
      
mysql_free_result($queryResult);
      
$countResult mysql_query("SELECT count(*) as `COUNT` FROM `GUESTBOOK`");
      if(!
$countResult)
      {
        die(
'Anzahl der Einträge konnte nicht gelesen werden: ' mysql_error());
      }
      
$count mysql_fetch_object($countResult);
      for(
$i=0$i<=($count->COUNT/$numMessages);$i++)
      {
        echo 
'<a href="guestbook.php?page='.$i.'">'.($i+1).'</a>';
      }
So werden die Einträge aufgelistet.

Wie im Code erkennbar wird man bei Klick auf Eintrag löschen auf guestbook-delete.php?id=>>ID!!!<< weitergeleitet.

Und daraus soll PHP jetzt wissen, dass er den Datensatz mit der id >>ID!!!<< löschen soll.

Inhalt der guestbook-delete.php:
PHP Code:
<?php
      
include ("../scripts/php/inc/db-guestbook-connect.php");
      
$loeschen mysql_query("DELETE FROM guestbook WHERE id = $_GET['ID']");

      if(!
$loeschen)
      {
        echo 
"Der Eintrag konnte nicht gelöscht werden! Bitte versuchen Sie es erneut!";
        }
        else
        {
        echo 
"Der Eintrag wurde erfolgreich gelöscht!";
      }
?>
include ("../scripts/php/inc/db-guestbook-connect.php");
ist btw. die Connection zur Datenbank (sollte erkennbar sein am Namen )

#edit: Fehlerhafte Zeile: $loeschen = mysql_query("DELETE FROM guestbook WHERE ID = $_GET['ID']");
adistoe is offline  
Old 03/29/2013, 13:23   #6
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
PHP Code:
 <?php

include ("../scripts/php/inc/db-guestbook-connect.php"); 

$id htmlentities($_GET['ID']);

$qryUser mysql_query("SELECT ID FROM GUESTBOOK WHERE ID = '".$id."'");
$rowUser mysql_fetch_object($qryUser);

if(
$rowUser->ID == $id) {
  
$qry mysql_query("DELETE FROM GUESTBOOK WHERE ID = '".$rowUser->ID."'");

  if(
$qry) {
    echo 
"Eintrag wurde erfolgreich gelöscht.";
  }
  else {
    echo 
"Eintrag konnte nicht gelöscht werden.";
  }
}
?>
Eigentlich war dein Script ja in Ordnung bis auf einige formale Fehler. Sicherheitschecks immer einbauen
Mikesch01 is offline  
Thanks
1 User
Old 03/29/2013, 13:26   #7
 
elite*gold: 0
Join Date: Nov 2011
Posts: 69
Received Thanks: 14
Du musst die ID-Variable auch erstmal in der Datei deklarieren.

EDIT:Ok wurde eben behoben von Mike ^^.
disortion is offline  
Old 03/29/2013, 13:27   #8

 
adistoe's Avatar
 
elite*gold: 63
Join Date: Oct 2012
Posts: 1,181
Received Thanks: 139
Jetzt kommt folgendes raus:
Code:
Notice: Undefined index: ID in K:\Program Files (x86)\xampp\htdocs\admin\guestbook-delete.php on line 64

Notice: Trying to get property of non-object in K:\Program Files (x86)\xampp\htdocs\admin\guestbook-delete.php on line 68

Notice: Trying to get property of non-object in K:\Program Files (x86)\xampp\htdocs\admin\guestbook-delete.php on line 69
 Eintrag wurde erfolgreich gelöscht!
Und der Eintrag bleibt vorhanden.
adistoe is offline  
Old 03/29/2013, 13:28   #9
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
Was ist denn hier Line 64? So weit hab ich gar nicht gescriptet

//edit: sehe den Fehler..ID muss natürlich id sein (Kleingeschrieben)

PHP Code:
 <?php

include ("../scripts/php/inc/db-guestbook-connect.php"); 

$id htmlentities($_GET['id']);

$qryUser mysql_query("SELECT ID FROM GUESTBOOK WHERE ID = '".$id."'");
$rowUser mysql_fetch_object($qryUser);

if(
$rowUser->ID == $id) {
  
$qry mysql_query("DELETE FROM GUESTBOOK WHERE ID = '".$rowUser->ID."'");

  if(
$qry) {
    echo 
"Eintrag wurde erfolgreich gelöscht.";
  }
  else {
    echo 
"Eintrag konnte nicht gelöscht werden.";
  }
}
?>
Mikesch01 is offline  
Thanks
1 User
Old 03/29/2013, 13:30   #10

 
adistoe's Avatar
 
elite*gold: 63
Join Date: Oct 2012
Posts: 1,181
Received Thanks: 139
PHP Code:
62: <?php
63
: include ("../scripts/php/inc/db-guestbook-connect.php"); 
64$id htmlentities($_GET['ID']);
65$qryUser mysql_query("SELECT ID FROM guestbook WHERE ID = '".$id."'");
66$rowUser mysql_fetch_object($qryUser);
67
68: if($rowUser->ID == $id) {
69:   mysql_query("DELETE FROM GUESTBOOK WHERE ID = '".$rowUser->ID."'");
70:   echo "Eintrag wurde erfolgreich gelöscht!";
71: }
72: else {
73:   echo "Eintrag konnte nicht gelöscht werden!";
74: }
75?>
#edit: Scheiss Gross- & Kleinschreibung^^
Funktioniert nun einwandfrei, danke sehr
adistoe is offline  
Reply


Similar Threads Similar Threads
[B] 2 e*gold [S] Esl Gästebuch eintrag
11/19/2012 - elite*gold Trading - 7 Replies
Guten Tag Community, ich suche leute die mir ins Esl Gästebuch reinschreiben, bitte dafür 1 e*gold. Der Esl Spieler sollte: -Level 3 sein -Sollte schon ein weng Esl Spielen -Ein Avatar besitzen
Gästebuch
03/25/2012 - Web Development - 9 Replies
Hey, Ich brauche hilfe bei einem Gästebuch, das ich nach einem Tutorial im Internet gelernt habe. Das Gästebuch speichert die geschriebenen Dinge in einer Textdatei "gaestebuch.txt". Die Beiträge in dieser txt werden direkt hinter den vorherigen Eintrag gehängt. Dies möchte ich nicht. Ich möchte das er z.B. 2 Zeilenumbrüche macht um es besser zu strukturieren. Sonstige Vebesserungvorschläge und Kritik sind erwünscht! Hier die Gaestebuch.php: <html> <head> <title>Gästebuch</title>
Listview eintrag löschen
01/07/2012 - AutoIt - 2 Replies
Hi, ich wollte gerne wissen wie man einen Makierten Listview eintrag löscht. Also da ist ein Wintrag und man drück nen Button und dann wird gelöscht was drinn steht. Geht das iwie mit GUICtrlGetHandle() , dass man einfach den Eintrag mit dem dazu gehörigen Array ausliest?? MfG Ludder231
Gästebuch
10/19/2011 - General Coding - 6 Replies
Hallo ich habe per php ein gästebuch erstellt.. nur habe ich ein problem.. ich habe in der datenbank 4 spalten ID | NAME | MAIL | NACHRICHT er trägt alles ein... bis auf die ID.. ich will ja nicht das sie die ID selber eintragen müssen ich will das es das automatisch macht.. ich dachte es geht mit dem hier..



All times are GMT +1. The time now is 19:25.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.