Script löscht automatisch

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Script löscht automatisch

    Hallo,

    Ich habe 2 Tabellen. In der einen sind Userdaten und die andere ist für eine Html Tabelle die diese eben darstellen soll. Das funktioniert ja auch ohne Probleme. Ich möchte aber, dass man sich in die 2. Tabelle eintragen kann. Das möchte ich mit einer Kopie des Userdaten eintrags machen. Die Logik dahinter hab ich soweit. Jedoch wenn ich jetzt den User in die 2. Tabelle manuell eintrage, wird der Eintrag sofort gelöscht.

    Was ist an meinem Script falsch?

    Die Logik fürs eintragen:
    (guest_logic.php)
    PHP-Code:
    <?php
    include_once('sessionhelpers.inc.php');
    $select_user mysql_query('SELECT UserId FROM users WHERE UserSession = \'' session_id() . '\'');
    $row mysql_fetch_row($select_user);
    //TEILNAHMEFUNKTION
    $usersql "INSERT INTO guest (UserID, UserName)
      SELECT UserID, UserName
      FROM users WHERE UserID = '"
    .$row[0]."'";
    $usersql2 mysql_query($usersql);
    if (isset(
    $_POST['submit'])){ 
        if(
    $usersql2){
        echo 
    "Du nimmst nun am Event teil!";
        } else {
            echo 
    " Datenbankfehler";    
        }}

        
    //LÖSCHFUNKTION
    $del "DELETE FROM `guest` WHERE `UserID` = '".$row[0]."'";
    $loesch mysql_query($del);
    if(isset(
    $_POST['loesch'])){
        if(
    $loesch){
            echo 
    "Du nimmst nun nicht mehr am Event teil!";
        }else {
            echo 
    " Datenbankfehler";    
        }}

    ?>
    Der Nicht- / Teilnahme Button:
    (guest_markup.php)
    PHP-Code:
    <?php
    $select_user 
    mysql_query('SELECT UserId FROM users WHERE UserSession = \'' session_id() . '\'');
    $row mysql_fetch_row($select_user);
    $einlesen mysql_query('SELECT UserID FROM guest WHERE UserID= \'' $row[0] . '\'');
    if(
    mysql_num_rows($einlesen)==1){ 
        echo 
    "<form action=\"\" method=\"POST\" >";
        echo 
    "<table>";
        echo 
    "<tr>";
        echo 
    "<td><input type=\"submit\" name=\"loesch\" id=\"style\" value=\"Ich m&ouml;chte nicht mehr teilnehmen\">";
        echo 
    "</tr>";
        echo 
    "</table>";
        echo 
    "</form>";
    }else {
        echo 
    "<form action=\"\" method=\"POST\" >";
        echo 
    "<table>";
        echo 
    "<tr>";
        echo 
    "<td><input type=\"submit\" name=\"submit\" id=\"style\" value=\"Ich m&ouml;chte teilnehmen\">";
        echo 
    "</tr>";
        echo 
    "</table>";
        echo 
    "</form>";    
    }
    ?>

  • #2
    Hallo,

    deine if-Abfragen passieren jeweils erst nach dem Ausführen der Statements. D. h. er legt immer erst den Nutzer an, dann prüft er, ob er angelegt werden sollte. Danach löscht er ihn und prüft erst dann, ob er gelöscht werden sollte.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Habs so gelöst: (falls das mal jemand brauch)

      guest_logic.php
      PHP-Code:
      <?php
      include_once('sessionhelpers.inc.php');
      $select_user mysql_query('SELECT UserId FROM users WHERE UserSession = \'' session_id() . '\'');
      $row mysql_fetch_row($select_user);
      //TEILNAHMEFUNKTION
      if (isset($_POST['submit'])){ 
      $usersql "INSERT INTO guest (UserID, UserName)
        SELECT UserID, UserName
        FROM users WHERE UserID = '"
      .$row[0]."'";
      $usersql2 mysql_query($usersql);
      if(
      $usersql2){
          echo 
      "Du nimmst nun am Event teil!";
          } else {
              echo 
      " Datenbankfehler";    
          }}

          
      //LÖSCHFUNKTION
      if(isset($_POST['loesch'])){
      $del "DELETE FROM `guest` WHERE `UserID` = '".$row[0]."'";
      $loesch mysql_query($del);

          if(
      $loesch){
              echo 
      "Du nimmst nun nicht mehr am Event teil!";
          }else {
              echo 
      " Datenbankfehler";    
          }}

      ?>

      Kommentar

      Lädt...
      X