Ankündigung

Einklappen
Keine Ankündigung bisher.

Dantenbank ausgabe änderung zurück Schreiben

Einklappen

Neue Werbung 2019

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

  • Dantenbank ausgabe änderung zurück Schreiben

    Ich bitte um Nachsicht.

    1. Was meint Ihr mit fertig schreiben das Script selber ist fertig.

    Es geht sich einzig und alein um diese Routine der User bekommt die Daten ausgelesen, er hat ein Formular wo er seine Daten ändern kann.

    Bis auf Passwort funktioniert das Script, beim Speichern wird das leere Passwortfeld mit (password_hash) gespeichert anstelle des vorherig aus der Datenbank gelesenem Passwortes.

    Ich würde es gerne so halten das das Passwort Feld leer bleibt, das vorher ausgelesene Passwort soll, zuück geschrieben werden wen kein neues Passwort gesetzt wird.

    Ich bitte um nachsicht bin kein Rechtschreibe Profi.



    PHP-Code:
          echo "<h1>Daten ändern</h1>";
         //  $passwort_hash = password_hash($passwort, PASSWORD_DEFAULT);
        if ( isset($_GET['id'])) {
            $id_einlesen = (INT) $_GET['id'];
            if ($id_einlesen > 0) {
                $dseinlesen = $db_link->prepare("SELECT id, email, passwort, vorname, nachname, created_at, updated_at, superadmin FROM users WHERE id = ? ");
                $dseinlesen->bind_param('i', $id_einlesen);
                $dseinlesen->execute();
                $dseinlesen->bind_result($id, $email, $passwort, $vorname, $nachname, $created_at, $updated_at, $superadmin);
                while ($dseinlesen->fetch()) {
                    // echo "<li>";
                    // echo $id ." / ". $vorname . " ". $nachname;          
                }
            }
        }
    }
    if ( ! isset($email) ) {
        $email = '';  
        }
    if ( ! isset($passwort) ) {
        $passwort = '';
         }
         if ( ! isset($passwort1) ) {
        $passwort1 = '';
         }
    if ( ! isset($vorname) ) {
        $vorname = '';
    }
    if ( ! isset($nachname) ) {
        $nachname = '';
    }
    if ( ! isset($created_at) ) {
        $created_at = '';
    }
    if ( ! isset($updated_at) ) {
        $updated_at = '';
    }
    if ( ! isset($superadmin) ) {
        $superadmin = '';
    }
    if(empty($superadmin))
     {
     $checked = " ";
     }
     else{$checked = ('checked="checked"');
     }
    ?>
    <form action="" method="post">
    <p><label>Email:
            <input type="text" name="email" id="email" value="<?php echo $email?>">
        </label></p>
        <p><label>Passwort: <?php echo $passwort?>
            <input type="text" name="passwort" id="passwort" value="<?php echo $passwort?>">
        </label></p>
        <p><label>Vorname:
            <input type="text" name="vorname" id="vorname" value="<?php echo $vorname?>">
        </label></p>
        <p><label>Nachname:
            <input type="text" name="nachname" id="nachname" value="<?php echo $nachname?>">
        </label></p>
        <p><label>geändert am:
            <input type="text" name="created_at" id="created_at" value="<?php echo $created_at?>">
        </label></p>
        <p><label>Superadmin:
            <input type="checkbox" name="superadmin" id="superadmin" <?php $checked?> value="1">
            </label></p>
        <?php    
        
    if ($modus_aendern != true ) {
            echo 
    '<input type="hidden" name="aktion" value="speichern">';
            echo 
    '<p><input type="submit" value="speichern"></p>';
        }
        else
        {
            echo 
    '<input type="hidden" name="aktion" value="korrigieren">';
            echo 
    '<input type="hidden" name="id" value="'$id .'">';
            echo 
    '<p><input type="submit" value="ändern"></p>';
        }
        
    ?>
    nun die Aktion

    if (isset($_GET['aktion']) and $_GET['aktion'] == 'feedbackgespeichert') {
        echo '<p class="feedbackerfolgreich">Datensatz wurde gespeichert</p>';
    }
    $modus_aendern = false;
    if (isset($_GET['aktion']) and $_GET['aktion'] == 'bearbeiten') {
        $modus_aendern = true;
    }
    if (isset($_POST['aktion']) and $_POST['aktion'] == 'korrigieren') {
        $id = "";
        if ( isset ($_POST['id'])) {
            $id = (INT) trim($_POST['id']);
        }
         $email = "";
        if (isset($_POST['email'])) {
            $email = trim($_POST['email']);
        }
       $passwort = "";
        if (isset($_POST['passwort'])) {
          $passwort = trim($_POST['passwort']);
         }
        $vorname = "";
        if (isset($_POST['vorname'])) {
            $vorname = trim($_POST['vorname']);
        }
        $nachname = "";
        if (isset($_POST['nachname'])) {
            $nachname = trim($_POST['nachname']);
        }
        $created_at = "";
        if (isset($_POST['created_at'])) {
            $created_at = trim($_POST['created_at']);
        }
         $updated_at = "";
        if (isset($_POST['updated_at'])) {
            $updated_at = trim($_POST['updated_at']);
        }
         $superadmin = "";
        if (isset($_POST['superadmin'])) {
            $superadmin = trim($_POST['superadmin']);
        }
        if ( $id != '' AND ($email != '' or $passwort != '' or $vorname != '' or $nachname != '' or $created_at != '' or $updated_at != '' or $superadmin != '')) {
         $updated_date=date("Y-m-d H:i:s", $current_timestamp);
         //UPDATE `users` SET `nachname` = \'Fische\', `updated_at` = NULL WHERE `users`.`id` = 12";
            $update = $db_link->prepare("UPDATE users SET email = ?, passwort = ?, vorname = ?, nachname = ?, created_at = ?, updated_at = ?, superadmin = ? WHERE id = ? LIMIT 1");
                 //   $passwort1 = "";    // if ( ! isset($_POST['passwort1']) ) {  
              $passwort = '';
             if ( $POST['passwort'] = ''){ $passwort = $passwort1;

          $update->bind_param('ssssssss', $email, $passwort1, $vorname, $nachname, $created_at, $updated_date, $superadmin, $id);
         }      
          else
                    {

              $passwort_hash = password_hash($passwort, PASSWORD_DEFAULT);
             $update->bind_param('ssssssss', $email, $passwort_hash, $vorname, $nachname, $created_at, $updated_date, $superadmin, $id);
             }

            if ( $update->execute() ) {
             echo"<br>";  echo $passwort;
                echo '<p class="feedbackerfolg">Datensatz wurde geändert</p>';
                $modus_aendern = false;
            }
        }
    }

  • #2
    Dantenbank ausgabe änderung zurück Schreiben

    Hallo liebe Gemeinde folgendes problem ich lese ein Variable aus der Datenbank aus wird diese in einem Formular nicht geändert soll er diese eingabe garnicht zurück schreiben andernfals schon

    er soll einfach das was er vorher ausgelesen hat zrück schreiben aber das macht er nicht.
    er benutzt immer das Else,
    Schreib zuerst bitte einmal fertig und benutze Satzzeichen. Das ist eine Zumutung für alle freiwilligen Helfer.

    Danke!

    Sei sorgfältig
    Schreibe in klarer, grammatikalisch korrekter Sprache!
    Forenregeln: https://www.php.de/articles/regeln-u...renrichtlinien
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Zitat von hausl Beitrag anzeigen

      Schreib zuerst bitte einmal fertig und benutze Satzzeichen. Das ist eine Zumutung für alle freiwilligen Helfer.

      Danke!
      +1 (auch, wenn es nicht in den Forenregeln stehen würde - das ist eine Frage des Benehmens, nicht von Forenregeln, Nettiquette usw.)

      Kommentar

      Lädt...
      X