Datenbank / User löschen lassen Bitte um Hilfe dringend !!

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

  • Datenbank / User löschen lassen Bitte um Hilfe dringend !!

    Hallo zusammen,

    habe hier ein Scriptteil von einem Freund wir sind gerade dabei ein Newssystem+Newsletter zu programmieren sind beide jedoch noch blutige Anfänger und programmieren kann man es eigentlich gar nicht nennen was wir machen nunja.

    Also unser Problem als Test haben wir das script auf TXT Dateien laufen lassen jedoch sind diese ja nicht so flexibel wie Datenbanken also gemacht getan.

    User können in die Datenbank übertragen werden jedoch nicht mehr gelöscht werden.Sprich wir haben eine Übersicht wo man User löschen und bearbeiten kann.Jedoch klappt die Funktion nicht so richtig oder irgendwas stimmt mit den WErten nicht aber wir finden den Fehler nicht.Bitte helft uns weiter.

    Danke für die Hilfe im Vorraus.

    Nun der Code

    Und sorry das er solang ist nur wir bekommen auch keine Fehlermeldung von daher weiß ich ja nicht wo der Fehler liegt?

  • #2
    PHP-Code:
    <?php


    include '../inc/functions.inc.php';
    checklogin();
    adminonlyaccess($_SESSION['loginlevel']);
    $goback '<br /><a href=javascript:history.back()>Zurück</a>';

    $datafile '../inc/user.php';
    if (!
    file_exists($datafile)) fclose(fopen($datafile,"w+"));
    $zeile file($datafile);
    $zeilen sizeof($zeile);

    #########################################################
    #                       STANDARD                        #
    #########################################################
    if (!$_GET['go']) {

        
    /* Standard-Ausgabe */
        
    drawheader('View Users');

    // DAtenbankgestützte Aufgabe

    mysql_connect("localhost""user""passwort")
       or die(
    "Keine Verbindung möglich: " mysql_error());
    mysql_select_db("usr_web64_1");

    $result mysql_query("SELECT id, user, level, email FROM users ORDER BY id DESC");
     while (
    $row mysql_fetch_array($resultMYSQL_ASSOC)) {

     
    ?>

    <form name="form1" method="post" action="">
      <table width="759" border="0" cellpadding="0" height="17" align="center" bordercolor="#CCCCCC" cellspacing="0">
        <tr>
          <td width="65">
            <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FF0000">
              <?php echo $row['user']; ?>
              </font></div>
          </td>
          <td width="109">
            <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
              <?php echo $row['level']; ?>
              </font></div>
          </td>
          <td width="91">
            <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
              <?php echo $row['email']; ?>
              </font></div>
          </td>
          <td width="77">
            <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
              </font></div>
          </td>
          <td width="78">
            <div align="center"> <font face="Verdana, Arial, Helvetica, sans-serif" size="1">
              </font></div>
          </td>
          <td width="354">
            <div align="center"><a href="users.php?go=changeuser&id='.$row['id'].'">Bearbeiten</a> -
                        <a href="users.php?go=deluser&id='.$row['id'].'">Löschen</a> </div>
          </td>
        </tr>
      </table>

    </form>
      <?php
      
    }
       
    mysql_free_result($result);

        echo 
    '</table><br /><a href="users.php?go=adduser">User hinzuf&uuml;gen</a><br /><br />';
    }
    #########################################################
    #                        ADDUSER                        #
    #########################################################
    if ($_GET['go'] == 'adduser') {

        
    drawheader('Neuer Benutzer');

        echo
    '<table width="90%" border="0" cellspacing="1" cellpadding="0" align="center" class="rahmen">
                <tr class="tr2">
                    <td>
              <b>Hier kannst Du beliebig viele neue Benutzer erstellen.</b><br />
              Ein Benutzer mit dem Level &quot;User&quot; kann sich einloggen, Nachrichten
                  schreiben, editieren und l&ouml;schen. Er kann aber keine Benutzerdaten editieren,
                  Benutzer l&ouml;schen oder &Auml;nderungen an den Konfiguration des Scripts
                  vornehmen. Dies kann nur ein Benutzer mit dem Level &quot;Admin&quot;
              </td>
            </tr>
            <tr class="tr1">
              <td>'
    ;


    #########################################################
    #                 ADDUSER - NO ACTION                   #
    #########################################################
    if (!$_GET['action']) {
        echo
    '<form method="POST" action="'.$_SERVER['PHP_SELF'].'?go=adduser&action=save">
          <table width="80%" border="0" cellspacing="1" cellpadding="0">
            <tr class="tr1">
              <td width="200">Login-Name:</td>
              <td>
                <input type="text" name="user" size="30" maxlength="150">
              </td>
            </tr>
            <tr class="tr1">
              <td width="200">Passwort:</td>
              <td>
                <input type="password" name="pwd" size="30" maxlength="150">
              </td>
            </tr>
            <tr class="tr1">
              <td width="200">Nochmal:</td>
              <td>
                <input type="password" name="pwd2" size="30" maxlength="150">
              </td>
            </tr>
                    <td width="200">Emailadresse</td>
              <td>
                <input type="emailadresse" name="email" size="30" maxlength="150">
              </td>
            </tr>
            <tr class="tr1">
            <tr class="tr1">
              <td width="200">Level:</td>
              <td>
                <select name="level">
                  <option value="user">User</option>
                  <option value="admin">Admin</option>
                </select>
              </td>
            </tr>
            <tr class="tr1">
              <td width="200">&nbsp;</td>
              <td>
                <input type="submit" value="Send" name="submit">
              </td>
            </tr>
          </table>
        </form>'
    ;
    }
    #########################################################
    #                   ADDUSER - SAVE                      #
    #########################################################

    if($_GET['action'] == 'save') {

        if((
    $_POST['user'] == '') OR ($_POST['pwd'] == '') OR ($_POST['pwd2'] == '') OR ($_POST['email'] == '')) {
            echo 
    message('error''Bitte fülle alle Felder aus!',1);
            echo
    '</td></tr></table>';

            exit();
        }

        if(
    $_POST['pwd'] != $_POST['pwd2']) {
            echo 
    message('error''Unterschiedliche Passw&ouml;rter angegeben!',1);
            echo
    '</td></tr></table>';

            exit();
          }

        
    $id $zeilen-3;

        if (
    $zeilen) {
            if(
    strlen($id)==1$id '00'.$id;
            if(
    strlen($id)==2$id '0'.$id;
        } else 
    $id 1;

           
    $_POST['user']     = cleantext($_POST['user']);
        
    $_POST['pwd']     = crypt($_POST['pwd'], 'lala');
           
    $nl chr(13).chr(10);

      
    // TXt Datei speichern
      
      
    $fp fopen($datafile,"w+");
      
    flock($fp,2);
      
    fwrite($fp'<?php'.$nl );
      
    fwrite($fp'/*' .$nl );
         for (
    $i=2$i<$zeilen-2$i++)
       
    fwrite($fp$zeile[$i]);
      
    fwrite($fpmy_nl2br(implode(array ($_POST['user'], $_POST['level'], $_POST['pwd'], $id$_POST['email'], '') ,'§')) . $nl);
      
    fwrite($fp'*/' .$nl );
      
    fwrite($fp'?>' );
      
    flock($fp,3);
      
    fclose($fp);
    Zuletzt geändert von Trexx; 26.02.2004, 12:49.

    Kommentar


    • #3
      PHP-Code:


        //Datenbank speichern

        $mysql = mysql_connect("localhost", "user", "passwort")or die ("Keine Verbindung moeglich");
        $db = "usr_web64_1";
        $abfrage= "INSERT INTO users (id, user, level, pwd, email) VALUES('$id', '$user', '$level', '$pwd', '$email')";
        mysql_db_query($db, $abfrage, $mysql);




          echo'<br />
          User erfolgreich hinzugefügt!<br />
          Hier nochmal die Daten:<br />
              Login-name: <b>'.$_POST['user'].'</b><br />
          Passwort(verschlüsselt): <b>'.$_POST['pwd'].'</b><br />
              Emailadresse: <b>'.$_POST['email'].'</b><br />
              Level: <b>'.$_POST['level'].'</b>';

      }
      #########################################################
          echo'</td>
              </tr>
            </table>';

      }
      #########################################################
      #                      CHANGEUSER                       #
      #########################################################
      if ($_GET['go'] == 'changeuser') {

          drawheader('Benutzerdaten &auml;ndern');
          echo'<table width="90%" border="0" cellspacing="1" cellpadding="0" align="center" class="rahmen">
                          <tr class="tr2">
                              <td>Hier kannst Du die Daten eines Benutzers ab&auml;ndern.<br />
                                      Beachte, da&szlig; derjenige User Vollzugriff auf alle Optionen des Scripts
                                    erh&auml;lt, dem Du den Level &quot;Admin&quot; zuteilst.
                  </td>
                      </tr>
                      <tr class="tr1">
                        <td>';

      #########################################################
      #                CHANGEUSER - NO ACTION                 #
      #########################################################

          if (!$_GET['action']) {

         for ($i=2; $i < $zeilen-2; $i++) {
          $eintrag = explode('§', $zeile[$i]);
          if ($eintrag[3] == $_GET['id']) {
                echo '
                  <form method="POST" action="'.$_SERVER['PHP_SELF'].'?go=changeuser&action=save">
                    <input type="hidden" name="saveid" value="'.$_GET['id'].'">
              <input type="hidden" name="savepw3" value="'.$eintrag[2].'">
                    <table width="80%" border="0" cellspacing="1" cellpadding="0">
                      <tr class="tr1">
                        <td>Loginname:</td>
                        <td>
                          <input type="text" name="saveuser" size="30" maxlength="150" value="'.$eintrag[0].'">
                        </td>
                      </tr>
                      <tr class="tr1">
                        <td>Passwort (verschlüsselt):</td>
                        <td>
                          <input type="password" name="savepw" size="30" maxlength="150" value="'.$eintrag[2].'">
                        </td>
                      </tr>
                      <tr class="tr1">
               <td>Passwort wiederholen:</td>
                        <td>
                          <input type="password" name="savepw2" size="30" maxlength="150" value="'.$eintrag[2].'">
                        </td>
                      </tr>
                      <tr class="tr1">
                                   <td>Emailadresse</td>
                        <td>
                          <input type=emailadresse" name="saveemail" size="30" maxlength="150" value="'.$eintrag[4].'">
                        </td>
                      </tr>
                      <tr class="tr1">
                        <td>Level:</td>
                        <td>
                          <select name="savelevel">';

                  if ($eintrag[1] == 'user') { echo '<option value="user" selected>User</option>'; }
                  else {echo '<option value="user">User</option>'; }
                  if ($eintrag[1] == 'admin') { echo '<option value="admin" selected>Admin</option>'; }
                  else {echo '<option value="admin">Admin</option>'; }

                  echo '</select>
                        </td>
                      </tr>
                      <tr class="tr1">
                        <td>&nbsp;</td>
                        <td>
                          <input type="submit" value="Send" name="submit">
                        </td>
                      </tr>
              </table>
              </td>';
                }
                  }
          }

      #########################################################
      #                  CHANGEUSER - SAVE                    #
      #########################################################

          if($_GET['action'] == 'save') {

              if ($_SESSION['loginlevel'] != 'admin') echo message('error', 'Sorry, nur Admins dürfen Userdaten ändern!',1);

              else if ($_POST['savepw'] != $_POST['savepw2']) echo message('error', 'Unterschiedliche Passwörter angegeben!',1);

              else {


                  for ($i=0; $i<$zeilen; $i++) {
                      $eintrag = explode('§',$zeile[$i]);

                      if ($eintrag[3] == $_POST['saveid']) {
                          $eintrag[0] = $_POST['saveuser'];
                          $eintrag[1] = $_POST['savelevel'];


                          if ($_POST['savepw2'] != $_POST['savepw3'])    {
                              $_POST['savepw'] = crypt($_POST['savepw'], 'lala');
                                                            $eintrag[2] = $_POST['savepw'];

                            }
                                     $eintrag[4] = $_POST['saveemail'];
                      }

                    $zeile[$i] = implode($eintrag,'§');

                  }

            $nl = chr(13).chr(10);
            $fp = fopen($datafile,"w+");
            fwrite($fp, '<?php' .$nl );
            fwrite($fp, '/*'.$nl  );
            for ($i=2; $i<$zeilen-2; $i++)
            fwrite($fp, $zeile[$i]);
            fwrite($fp, '*/' .$nl );
            fwrite($fp, '?>' );
            fclose($fp);


         


                echo 'Gespeichert!<br /><br />
                  Userdaten erfolgreich geändert!<br />
                  Hier nochmal die Daten:<br />
                  Loginname: <b>'.$_POST['saveuser'].'</b><br /
                              Emailadresse: <b>'.$_POST['saveemail'].'</b><br />
                  Level: <b>'.$_POST['savelevel'].'</b><br /><br />
                  <b>Damit die geänderten Einstellungen wirksam werden, musst Du Dich neu einloggen!</b>';
                  }

          }
      #########################################################
          echo'</td>
              </tr>
            </table>';

        }
      #########################################################
      #                        DELUSER                        #
      #########################################################
      if ($_GET['go'] == 'deluser') {

          drawheader('Benutzer l&ouml;schen');
          echo'<table width="90%" border="0" cellspacing="1" cellpadding="0" align="center" class="rahmen">
                <tr class="tr1">
                  <td>';

          if ($_SESSION['loginlevel'] != 'admin') {
              echo message('error', 'Nur Admins dürfen User löschen!',1);

          } else {
                for ($i=0; $i < $zeilen; $i++) {
                  $eintrag = explode("§", $zeile[$i]);

                  if ($eintrag[3] == $_GET['id']) {
                        $zeilen--;

                      for ($j=$i; $j < $zeilen; $j++) {
                          $zeile[$j]=$zeile[$j+1];
                      }
                    }
              }
              $fp = fopen($datafile,"w+");
              for ($i=0; $i < $zeilen; $i++)
              fwrite($fp, $zeile[$i]);
              fclose($fp);


              //Datenbank speichern

                $mysql = mysql_connect("localhost", "user", "passwort")or die ("Keine Verbindung moeglich");
                $db = "usr_web64_1";
                $abfrage = "DELETE FROM users WHERE id=$id";
                mysql_db_query($db, $abfrage, $mysql);



              echo message('msg', 'User gel&ouml;scht!',1);
          }

              echo'</td>
                  </tr>
                </table>';

          }

      ?>
      Zuletzt geändert von Trexx; 26.02.2004, 12:50.

      Kommentar


      • #4
        PHP-Code:
        $abfrage "DELETE FROM users WHERE id=$id"
        Soweit ich das überblicke, kennt dein Script an dieser Stelle die Variable $id gar nicht ... die müsstest du ihm erstmal übergeben
        PHP-Code:
        <a href="users.php?go=deluser&id='.$row['id'].'">Löschen</a
        Hier übergibts du zwar ne ID, aber diese bastelst du nirgends über ...
        PHP-Code:
        $id $_GET['id']; 
        ... in die "normale" Variable $id um, die du beim Löschen nutzen willst ...
        [color=red]Geht nicht[/color] ist keine Fehlermeldung

        Kommentar


        • #5
          du weist schon, dass du dich durch posten von ellenlangen code-auszügen, durch die du selber nicht mal annähernd durchblickst, nicht gerade beliebt machst?

          für das löschen dürfte wohl der letzte abschnitt verantwortlich sein,
          PHP-Code:
          #########################################################
          #                        DELUSER                        #
          #########################################################
          if ($_GET['go'] == 'deluser') { 
          also finde jetzt mal durch geeignete debugging-maßnahmen heraus, ob er da überhaupt reingeht, und wenn ja was da beim löschen falsch läuft.
          (mysql_error() nach datenbank-query abfragen!)


          EDIT:
          btw: wtf ist an der frage "dringend"?
          unterlasse solche drängelei-zusätze bitte zukünftig, danke

          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Okay die dringellei wird gelassen.
            Und ich werd mal eben schauen was sich machen lässt.

            Thanks für eure Hilfe werde gleich posten ob alles geklappt hat.

            Kommentar


            • #7
              @ Big Chief,

              ich lese doch die variable aus der Datenbank aus und setze sie mit $row['id']. ein oder versteh ich hier grad was nicht?Oder kann ich Sie so nicht direkt übergeben?

              Kommentar


              • #8
                ich lese doch die variable aus der Datenbank aus und setze sie mit $row['id']. ein oder versteh ich hier grad was nicht?Oder kann ich Sie so nicht direkt übergeben?
                PHP-Code:
                ?><a href="users.php?go=deluser&id='.$row['id'].'">Löschen</a> </div> 
                ich hab so das gefühl, there's somethin missin
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  Ja das Gefühl habe ich auch.Nur ich weiß nicht was :-)
                  Bei mir geht grad kein Licht auf


                  PHP-Code:
                       <div align="center"><a href="users.php?go=changeuser&id='.$eintrag[3].'">Bearbeiten</a> -
                                      <
                  a href="users.php?go=deluser&id='.$eintrag[3].'">Löschen</a> </div

                  Kommentar


                  • #10
                    $abfrage = "DELETE FROM users WHERE id=$id";

                    an dieser stelle hast du kein $id.

                    du musst es aus $_GET['id'] auslesen, wenn du ?id=0815 per link übergibst.

                    PHP-Code:
                    $abfrage "DELETE FROM users WHERE id=".$_GET['id']; 
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      okay vielen dank werde mich heute abend noch ma dran setzen jetzt erstma schnee schieben gehen.Post wenn ich weiter bin thanks

                      Kommentar


                      • #12
                        Habs doch noch schnell ausprobiert.
                        Aber nun löscht er immer noch nix.
                        Aber kommt auch kein Fehler :-)

                        Kommentar


                        • #13
                          PHP-Code:
                          ?><a href="users.php?go=deluser&id='.$row['id'].'">Löschen</a> </div> 
                          PHP-Code:
                          ?><a href="users.php?go=deluser&id=<?PHP echo $row['id']; ?>">Löschen</a> </div>
                          Die Zeit hat ihre Kinder längst gefressen

                          Kommentar


                          • #14
                            Hey super,

                            dank dir.

                            Kleiner Fehler große Wirkung.

                            ma schauen vielleicht kriegen wir es jetzt hin.

                            Wenn nich poste ich nochmal

                            Kommentar

                            Lädt...
                            X