Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Update ändert nix in der DB

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Update ändert nix in der DB

    OKLeute und wiedermal bin ich es ich weiß ich nerve tut mir leid.

    Also ich komm mal zur Sache:

    Ich will gerne per FormularDaten ändern in der DB und gebe per Session die Daten, wie ID username etc. weiter damit auch der entsprechende Eintrag in der DB geändert werden kann. Ich kriege auch keine Fehler oder so ausgegeben scheint alles zu fintzen nur leider passiert nix -.-

    Hier mal der Source von der edit.php
    PHP-Code:
    <?php 
    //Session starten
    session_start();

    include (
    'Inc/config.php');
    include (
    'Template/header.html');
    include (
    'Template/Menu.html');


    //DB Verdbinden
    $db mysql_connect($host,$username,$password,$dbname);

    //Datenbank auswaehlen
    mysql_select_db($dbname,$db);

    //Erhaltene GET-Variablen in Sessions stecken
    $_SESSION['id'] = $_GET['id'];
    $_SESSION['username'] = $_GET['username'];
    $_SESSION['passwort'] = $_GET['passwort'];
    $_SESSION['typ'] = $_GET['typ'];
    $_SESSION['bemerkungen'] = $_GET['bemerkungen'];

    echo 
    '<h2 align="center">Accountdaten &auml;ndern</h2>';

    //Formeinfuegen
    include ('Template/edit_acc_form.php');

    //Footer Einfugen
    include ('Template/footer.html');
     
    ?>
    Hier wird das Formular eingebunden, welches die session id beinhaltet, damit auch allesrichtig weitergegeben wird. Hier die form:

    PHP-Code:
    <?PHP
    session_start
    ();
    ?>
    <form action="./edited.php <?PHP echo '?'.session_name().'='.session_id(); ?>" id="edit_acc" method="POST">
    <table align="center" width="244" border="0">
      <tr>
        <td width="100">Username:</td>
        <td width="134"><label>
          <input type="text" name="username" id="username" value="<?PHP echo $username?>" >
        </label></td>
      </tr>
      <tr>
        <td>Passwort:</td>
        <td><label>
          <input type="text" name="passwort" id="passwort" value="<?PHP echo $passwort?>">
        </label></td>
      </tr>
      <tr>
        <td>Typ:</td>
        <td><label>
          <input type="text" name="typ" id="typ" value="<?PHP echo $typ?>">
        </label></td>
      </tr>
      <tr>
        <td height="97">Bemerkungen:</td>
        <td><label><textarea name="bemerkungen" id="bemerkungen" cols="50" rows="10" ><?PHP echo $bemerkungen?></textarea>
    </label></td>
      </tr>
      <tr>
        <td>
        <div align="center"></div>   </td>
        <td><input type="submit" align="right" name="editacc" id="edit_acc" value="&Auml;nderungen speichern" /></td>
      </tr>
    </table>
    </form>
    und anschließend soll der SQL Befehl ausgeführt werden in der edited.php .... Ich kriege keine Fehler meldung alles scheint zu gehen, aber keine änderungin der DB .... Hier noch die Edited.php

    PHP-Code:
    <?php 
    //session starten
    session_start();

    include (
    'Inc/config.php');
    include (
    'Template/header.html');
    include (
    'Template/Menu.html');



    //DB Verdbinden
    $db mysql_connect($host,$username,$password,$dbname);

    //Datenbank auswaehlen
    mysql_select_db($dbname,$db);

    /* $id =($_POST['id']);
    $username = $_POST['username'];
    $passwort = $_POST['passwort'];
    $typ = $_POST['typ'];
    $bemerkungen = $_POST['bemerkungen'];
     */
    if (!isset($_SESSION['username'], $_SESSION['passwort'], $_SESSION['typ'],$_SESSION['id'], $_SESSION['bemerkungen'])) {
        die (
    '<img src = img/ico/err.PNG>Einige Felder wurden nicht ausgef&uuml;llt! Bitte gehe zur&uuml;ck und f&uuml;lle diese aus!');


    //Update die Datenbank
    $sql 'UPDATE 
              acclister
            SET
              Username = "'
    .mysql_real_escape_string($_SESSION['username']).'",
              Passwort = "'
    .mysql_real_escape_string($_SESSION['passwort']).'",
              Typ = "'
    .mysql_real_escape_string($_SESSION['typ']).'",
              Bemerkungen = "'
    .mysql_real_escape_string($_SESSION['bemerkungen']).'",
              Datum = NOW()
            WHERE
              ID = "'
    .$_SESSION['id'].'"';

    //Query ausfuehren
    $result mysql_query($sql);

    if (!
    $result) {
    die (
    '<img src = img/ico/err.PNG>Es ist ein Fehler aufgetreten: '.mysql_error().'!');
    }

    echo 
    '<img src = img/ico/ok.PNG>Accountdaten erfolgreich ge&auml;ndert!';
    //Footer Einfugen
    include ('Template/footer.html');
     
    ?>
    Bitte helft mir leute

    MfG
    Amar

  • #2
    lass dir das fertige $sql statement mal ausgeben mittels echo, überprüf ob es so ist wie dus dir vorstellst, und führs manuell in der datenbank aus und schau was passiert.

    Kommentar


    • #3
      OK ERLEDIGT!!! Lag daran, dass ich die Postdaten weitergeben musste udnnicht die Session.Nur die ID per Session weitergeben rest per Post, dann funkt es

      Kommentar

      Lädt...
      X