tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
193
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    willywombat willywombat ist offline Grünschnabel
    Registriert seit
    Aug 2004
    Beiträge
    1
    Hi Leuts,
    ich muss gleich mal am Anfang beichten, dass ich nicht viel Ahnung von PHP geschweigeden von mySQL habe.
    Ich habe das Script von einem Freund bekommen, was eigentlich auch gut funkitoniert. Nur dass alle Werte aus der Tabelle gelöscht wurden, nachdem ich die Daten editieren habe. Leider hat mein Freund auch keine Ahnung, waum es nicht geht. Vielleicht hat einer von euch eine leuchtende Idee. Bedanke mich jetzt schonmal...

    so long
    euer wombat

    PHP-Code:
    <?php
    if(!session_id()) session_start();
    ?>

    <?php


    $tab 
    "stf_users";
    $adminmail "bl0b@gmx.de";
    $fields = array("Name","Adresse","Wohnort","Geburtsdatum","ICQ","EMail","Kommentar");

    mysql_connect("localhost""username""password") or die ("Die Verbindung zur Datenbank konnte nicht hergestellt werden.");
    mysql_select_db("dbname") or die ("Die Datenbank konnte nicht ausgewählt werden.");

    function 
    show_users() {

        global 
    $tab;
        
        
    $query mysql_query("SELECT * FROM $tab ORDER BY name ASC");
        
        while(
    $arr mysql_fetch_array($query)) {
        
            echo 
    "<a href='?do=show_user($arr[id])'>$arr[Name]</a>";
            
            if(isset(
    $_SESSION['admin'])) {
                echo 
    " <i>[<a href='?do=edit_profil($arr[id])'>Bearbeiten</a> | <a href='?do=del($arr[id])'>Löschen</a>]</i>";
            }
            
            echo 
    "<br>";
        }
        
        echo 
    "<br><hr noshade size='2' width='600px' align='center'><br>";
        if(isset(
    $_SESSION['admin']))
            echo 
    "<a href='?do=logout()'>Ausloggen</a> :: <a href='?do=new_user()'>Neuer User</a>";
        else
            echo 
    "<a href='?do=login()'>Einloggen</a>";

    }

    function 
    new_user() {

        global 
    $fields;

        echo 
    "<form action='?do=new_user_save()' method='post'>";
        
        for(
    $i=0;$i<count($fields);$i++) {
            if(
    $fields[$i] != "Kommentar") echo "<b>".$fields[$i]."</b>: <input type='text' value='' name='{$fields[$i]}'><br><br>";
            else echo 
    "<b>".$fields[$i]."</b>: <br><textarea name='{$fields[$i]}'></textarea>";
        }
        
        echo 
    "<br><br><b>Passwort</b>: <input type='password' name='passwort'>";
        
        echo 
    "<br><br><input type='submit' value='Speichern'></form>";


    }

    function 
    new_user_save() {

        global 
    $tab;

        
    mysql_query("INSERT INTO $tab VALUES('','$_POST[Name]','$_POST[passwort]','$_POST[Adresse]','$_POST[Wohnort]','$_POST[Geburtsdatum]','$_POST[ICQ]','$_POST[EMail]','$_POST[Kommentar]')");
        
    show_users();
    }

    function 
    logout() {

        unset(
    $_SESSION['admin']);
        
    show_users();

    }

    function 
    del($id) {
        
        global 
    $tab;
        
    mysql_query("DELETE FROM $tab WHERE id = '$id'");
        
    show_users();
    }

    function 
    show_user($id) {
        
        global 
    $tab,$fields;
        
        echo 
    "<a href='?do=show_users()'>:: Zur&uuml;ck</a><br><br>";
        
        
    $arr mysql_fetch_array(mysql_query("SELECT * FROM $tab WHERE id = '$id'"));
        
        for(
    $i=0;$i<count($fields);$i++) {
            
            echo 
    "<b>".$fields[$i]."</b>: ".$arr[$fields[$i]]."<br><br>";
            
        }

    }

    function 
    login() {

        echo 
    "<form action='?do=login_send()' method='post'>
            Name: <input type='text' name='name' class='eingabe'><br>
            Passwort: <input type='password' name='passwort' class='eingabe'><br><br>
            <input type='submit' value='Login' class='eingabe'></form>"
    ;
        
    }

    function 
    login_send() {

        global 
    $tab,$adminmail;
        
        if(
    $_POST['name'] == "Administrator" && $_POST['passwort'] == "editprofil") {
            
    $_SESSION['admin'] = "on";
            
    show_users();
            return 
    false;
        }    

        
        
    $query mysql_query("SELECT * FROM $tab WHERE lower(name) = lower('{$_POST['name']}') AND passwort = '{$_POST['passwort']}'");
        if(
    mysql_num_rows($query) == 0) {
        
            echo 
    "Benutzer existiert nicht. Bei Neuanmeldung bitte an folgende Emailadresse wenden. <a href='mailto:$adminmail'>$adminmail</a><br>";
            
    login();
        
        } else {
        
            
    $arr mysql_fetch_array($query);
            
    $_SESSION['login_id'] = $arr['id'];
            
    edit_profil($_SESSION['login_id']);
            
        }

    }

    function 
    edit_profil($id) {

        global 
    $tab,$fields;
        
        
    $arr mysql_fetch_array(mysql_query("SELECT * FROM $tab WHERE id = '$id'"));
        
        echo 
    "<form action='?do=save_profil($id)' method='post'>";
        
        for(
    $i=0;$i<count($fields);$i++) {
            
            if(
    $fields[$i] != "Kommentar") echo "<b>".$fields[$i]."</b>: <input type='text' value='".$arr[$fields[$i]]."' name='{$fields[$i]}'><br><br>";
            else echo 
    "<b>".$fields[$i]."</b>: <br><textarea name='{$fields[$i]}'>".$arr[$fields[$i]]."</textarea>";
        }
        
        echo 
    "<br><br><input type='submit' value='Speichern'></form>";

    }

    function 
    save_profil($id) {

        global 
    $tab,$fields;

        for(
    $i=0;$i<count($fields);$i++) {
            
    mysql_query("UPDATE $tab SET ".$fields[$i]." = '".$_POST[$fields[$i]]."' WHERE id = '$id'");
        }
        
        
    show_user($id);
        
    }

    (isset(
    $do)) ? $do $do $do "show_users()";

    eval(
    ";".$do.";");

    ?>
     

  2. #2
    Registriert seit
    Jun 2004
    Ort
    Garching b. München
    Beiträge
    602
    Hi!

    Ändere mal diese Zeile:
    PHP-Code:
        mysql_query("DELETE FROM $tab WHERE id = '$id'"); 
    so um:
    PHP-Code:
        die("DELETE FROM $tab WHERE id = '$id'"); 
    Dann siehst du, welcher Query ausgeführt wird. Wahrscheinlich hilft das schon weiter!

    Mamphil
     
    Lösungsvorschlag: Wenn es mit dem mysql_query(...); Probleme gibt, pack ein die(mysql_error()); dahinter und guck dir den MySQL-Fehler an!

    Artikel & Tutorial: Wie realisiere ich eine Umkreissuche nach Postleitzahlen mit der kostenlosen OpenGeoDB in PHP?

Ähnliche Themen

  1. MySQL Negative Werte in Tabelle
    Von Nexus-tgc im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 20.12.09, 11:24
  2. Antworten: 2
    Letzter Beitrag: 27.10.09, 09:41
  3. Antworten: 5
    Letzter Beitrag: 24.10.05, 17:08
  4. Werte aus MySql Tabelle
    Von hab1cht im Forum PHP
    Antworten: 5
    Letzter Beitrag: 18.10.05, 17:53
  5. Nach import von MySQL nach Access Daten "gelöscht"
    Von lukasS im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 19.01.05, 11:28