kleineMaus: Wie kann ich löschen ?

Hallo,

habe da eine etwas größere Frage,

habe eine Seite, da können User selber ein Gesuche aufgeben. Jetzt will ich einen Link setzten, wo die User dann auch die Möglichkeit haben, das selber wieder zu löschen. Wie kann ich das aufbauen ? Kann mir da bitte einer helfen ? Es währe sehr sehr lieb von euch......

Liebe Grüße,
kleineMaus

PS: kann man sich hier eigentlich auch Registrieren ?

  1. Hallo!

    habe eine Seite, da können User selber ein Gesuche aufgeben. Jetzt will ich einen Link setzten, wo die User dann auch die Möglichkeit haben, das selber wieder zu löschen. Wie kann ich das aufbauen ?

    Das hängt wohl davon ab, wie das Gesuche (was ist das eigentlich) gespeichert wurde! In einer Datenbank?

    PS: kann man sich hier eigentlich auch Registrieren ?

    Ja, unter http://forum.de.selfhtml.org/ links oben, gleich unter "QuickLink".

    Beste Grüße
    Viennamade

    1. Hallo Viennamade,

      die Daten werden in einer DB gespeichert. Ich kann dir mal eben zeigen, wie die DB aufgebaut ist :

      CREATE TABLE free (
        id int(11) NOT NULL auto_increment,
        Name tinytext,
        Mail tinytext,
        Text text,
        PRIMARY KEY  (id)
      ) TYPE

      Liebe Grüße,
      kleineMaus

      1. Hi kleineMaus,

        CREATE TABLE free (
          id int(11) NOT NULL auto_increment,
          Name tinytext,
          Mail tinytext,
          Text text,
          PRIMARY KEY  (id)
        ) TYPE

        In dem Link übergibst Du die id des zu löschenden Datensatzes.
        <a href="foo.php?id=<?= $id; ?>">

        Du löscht nun den Datensatz mit der übergebenen ID aus der Tabelle free mit DELETE
        siehe Dir hierzu auch http://www.mysql.de/doc/de/DELETE.html an.

        DELETE
        FROM free
        WHERE id = mysql_escapse_string($_GET["id"])

        MfG

        Maresa

        Liebe Grüße,
        kleineMaus

        1. Hallo Maresa,

          Sorry das habe ich jetzt nicht ganz verstanden. Hier poste ich mal den Code hin, wie die Datei. Wie muss ich dann das einfügen :-((

          ?>
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
          <html>
          <head>
          <title>Test Datei von Nadine </title>
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
          <style type="text/css">
          <!--
          .Stil2 {color: #FFFFFF}
          -->
          </style>
          </head>

          <body>
          <table border="0">
          <tr>
          <?php
          $conn_result = mysql_connect($server,$username,$passwort) or die ("Could not connect to Database");
          $daten = "SELECT Id,Name,Mail,Text FROM free"; //SQL String zum auslesen aller Datensätze aus der Datenbank
          $result = mysql_db_query($name,$daten); //SQL String ausführen
          while($db_ar = mysql_fetch_array($result)) { //Ergebnisse der Abfrage in Array laden und dieses Array in einer While-Schleife durchlaufen, bei jedem Durchlauf die Daten ausgeben?>
          <td>
          <table width="45%"  border="0">
            <tr>
              <td width="52%" bgcolor="#990000"><div align="center" class="Stil2"><?php print $db_ar["Name"]; //Aus aktuellem Datensatz im Array Name ausgeben ?></div></td>
              <td width="48%" bgcolor="#990000"><div align="center" class="Stil2"><?php print $db_ar["Mail"]; //Aus aktuellem Datensatz im Array Email ausgeben?></div></td>
            </tr>
            <tr>
              <td bgcolor="#CCCCCC" colspan="2"><div align="center"><?php print $db_ar["Text"]; //Aus aktuellem Datensatz im Array Text ausgeben?></div></td>
            </tr>
          </table>
          </td>
          <?php
             // Jetzt wirds ein wenig komplizierter:
             // dieses Konstrukt sorgt dafür, dass bei jedem zweiten Schleifendurchlauf eine tabellenzeile geschlossen und eine neue geöffnet wird.
             // Das ganze konstrukt besteht wie du sehen kansnt aus zwei ineinander geschachtelten Tabellen, wobei die äussere Tabelle dazu da ist, jeweils zwei von den inneren Tabellen nebeneinander anzuordnen
             // Der Rechenoperator der da verwendet wird ist (sorry, wenn ich zu ausführlich werde) der Modulo Operator, der gibt einem den Rest einer ganzzahligen Division zurück

          if ($i % 2 == 1) { ?>
                </tr><tr>
            <?php }
            $i = $i + 1;
          }
          mysql_close($conn_result); ?>
          </tr>
          </table>
          <p> </p>
          </body>
          </html>

          1. Hallo!

            Sorry das habe ich jetzt nicht ganz verstanden. Hier poste ich mal den Code hin, wie die Datei. Wie muss ich dann das einfügen :-((

            So, wie Du das im Ausgangsposting geschrieben hast: "Jetzt will ich einen Link setzten..."
            Also einen Link dessen Verweistext zB. "Löschen" lautet, dessen Ziel eine Seite mit dem DELETE-Query ist.

            Beste Grüße
            Viennamade

            1. Hello,

              das Ganze wird wohl etwas komplexer.

              Entweder, die User müssen sich bei Beginn der Session anmelden (Authentifizieren) oder Du sendest Dem User eine email mit einer PIN. Die ist in dem Datensatz eingetragen.

              <a href="http://domain.tld/revoke.php?id=34569&pin=2340" target="revoke">Angebot 34569 löschen</a>

              Das Revoke-Script sucht nun den Datensatz zur ID und PIN und fragt den User, wie er heißt. Zusammen mit dem Namen kann der dann einen POST auslösen. Wenn ID, PIN und Name passen, wird der Satz gelöscht.

              Man könnte dem Löschscript auch noch mehr Kunststücke beibringen. z.B. das Bearbeiten von Angeboten. Da bekommt der User eben den Eintrag nochmal vorgelegt und bekommt in der Rückfrage zwei Buttons, einen für Löschen und einen für Ändern.

              Ob der Satz zu Historiezwewcken dann ggf. nur als gelöscht markiert wird und ein neuer mit dem neuen Text angelegt weird (so wie das bei eBauy teilweise der Fall ist), musst Du selber entscheiden.

              Liebe Grüße aus http://www.braunschweig.de

              Tom

              --
              [ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,
                Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre
                Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ]
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              1. Hallo Tom,

                oder Du sendest Dem User eine email mit einer PIN. Die ist in dem Datensatz eingetragen.
                  <a href="http://domain.tld/revoke.php?id=34569&pin=2340" target="revoke">Angebot 34569 löschen</a>

                Das Revoke-Script sucht nun den Datensatz zur ID und PIN und fragt den User, wie er heißt. Zusammen mit dem Namen kann der dann einen POST auslösen. Wenn ID, PIN und Name passen, wird der Satz gelöscht.

                aus Deinen Postings lerne ich immer eine Menge.

                Danke Dir!
                Viennamade

              2. Hi Tom!

                <a href="http://domain.tld/revoke.php?id=34569&pin=2340" target="revoke">Angebot 34569 löschen</a>

                Was soll das 'target="revoke"'?

                Schöne Grüße
                Julian

                1. Hello,

                  Hi Tom!

                  <a href="http://domain.tld/revoke.php?id=34569&pin=2340" target="revoke">Angebot 34569 löschen</a>
                  Was soll das 'target="revoke"'?

                  Wenn man mehrfach auf den Link klickt, soll nur ein Fenster bleiben.

                  Liebe Grüße aus http://www.braunschweig.de

                  Tom

                  --
                  [ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,
                    Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre
                    Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ]
                  Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen