beim bearbeiten werden keine neue Daten übernommen...

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

  • beim bearbeiten werden keine neue Daten übernommen...

    hallo zusammen,

    habe ein script, mit dem ich datensätze löschen bzw. ändern kann.

    Das löschen funktioniert soweit auch.
    Aber beim bearbeiten übernimmt php die abgeänderten daten nicht in die SQL-Tabelle:
    der link fürs bearbeiten:


    PHP-Code:
    <td><a href="<? echo ''.$_SERVER['PHP_SELF'].'?edit='.$daten["id"].'' ?>">

    bearbeiten</a></td>

    zugehörige funktionen:
    Code:

    PHP-Code:
    // Daten &auml;ndern 
    if ($edit) { 
    if (
    $submit) { 
    $sql "UPDATE kunden SET profil='$profil', bemerkung='$bemerkung', 

    status='
    $status', emp='$emp', vorname='$vorname', name='$name', 

    anr='
    $anr', email='$email', tel='$tel', str='$str', hnr='$hnr', plz='$plz', 

    ort='
    $ort' WHERE id='$edit'"
    $result mysql_query($sql,$db); 
    echo 
    "Daten f&uuml;r die ID ".$edit.

    wurden ge&auml;ndert"


    else { 
    $sql "SELECT * FROM kunden WHERE id='$edit'"
    $result mysql_query($sql,$db) or die(mysql_error()); 
    $data mysql_fetch_array($result); 
    ?> 


    für Hilfe und Ideen wäre ich euch echt dankbar!


    PS: habe vor verwendung alle Variablen so definiert:
    $profil= (isset($_GET['profil'])) ? $_GET['profil'] : ' ';...
    Zuletzt geändert von sandra_weber; 24.10.2005, 21:39.

  • #2
    Hallo,

    Abraxax hat dir bereits in deinem letzten Thread einen Link zu unseren Forum-Regeln gepostet. Bitte beachte diese besonders bezügl. "Horizontales Scrollen" und Error_Reporting.

    Wo sind deine Testausgaben? Diese habe auch scho in deinem letzten Thread vermisst.

    Kommentar


    • #3
      Code umbrechen wäre kein Verbrechen...

      Arbeitest du mit register globals on ??
      PHP-Code:
      if($_GET['edit']){
      ...

      würde allenfalls funzen.

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Brich bitte deinen Code um.

        Was heißt "die Daten werden nicht übernommen"?

        Gib $sql mal mit echo aus, was steht da?

        Wie sieht das Formular aus?

        @jahlives
        Daran sollte es nicht liegen, da es angeblich schon berücksichtigt wird
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Daran sollte es nicht liegen, da es angeblich schon berücksichtigt wird
          Dann sollte der Starter einfach mal ein var_dump($edit) machen um sicherzugehen
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Re: beim bearbeiten werden keine neue Daten übernommen...

            PHP-Code:
            <a href="<? echo ''.$_SERVER['PHP_SELF'].'?edit='.$daten["id"].'' ?>">...
            PHP-Code:
            if ($edit) { 
            if (
            $submit) { 
            Woher soll denn $submit kommen? Aus dem Link jedenfalls nicht!

            Wenn ich dir jetzt langes Fehlersuchen erspart habe, nutze die Zeit doch bitte um dich über Stringkonkatenation zu informieren.
            echo ''.$wasauchimmer ist nämlich Dummfug.
            Zuletzt geändert von onemorenerd; 24.10.2005, 12:23.

            Kommentar


            • #7
              Die Daten werden nicht übernommen heisst ich wähle bei einem Datensatz "bearbeiten"-
              ändere Daten ab und diese Änderungen werden leider nicht in diesem Datensatz abgeändert
              nachem ich auf "Ändern"klick.

              mit Globals =on funktioniert der ganze spass reibungslos, aber würde das gerne für globals =off
              bzw globalunabhängig schreiben.

              echo $sql=
              SELECT * FROM kunden WHERE id=46

              hier nochmal der gesamte Quelltext hoffe doch einigermassen anständig formatiert:
              (vielleicht hat ja noch jemand eine Idee

              PHP-Code:
              <?
              //Verbindung herstellen
              $db = mysql_connect("localhost","db","pw");
              mysql_select_db("db",$db);

              $clear = $_GET['clear'];
              $edit = $_GET['edit'];
              $submit = $_POST['submit'];

              $vorname = $_POST['vorname'];
              $name = $_POST['name'];
              $anr = $_POST['anr'];
              $email = $_POST['email'];
              $tel = $_POST['tel'];
              $str = $_POST['str'];
              $hnr = $_POST['hnr'];
              $plz = $_POST['plz'];
              $ort = $_POST['ort'];
              $fname = $_POST['fname'];
              $status = $_POST['status'];
              $emp = $_POST['emp'];
              $profil = $_POST['profil'];
              $bemerkung = $_POST['bemerkung'];



              //Daten l&ouml;schen
              if($clear) mysql_query("DELETE FROM kunden WHERE id=$clear",$db);

              // Daten &auml;ndern
              if ($edit) {
              if ($submit) {
              $sql = "UPDATE kunden SET profil='$profil', bemerkung='$bemerkung', status='$status', 
              emp='$emp', vorname='$vorname', name='$name', anr='$anr', email='$email', tel='$tel', 
              str='$str', hnr='$hnr', plz='$plz', ort='$ort' 
              WHERE id=$edit";
              $result = mysql_query($sql,$db);
              echo "Daten f&uuml;r die ID ".$edit." wurden ge&auml;ndert"; echo $sql;
              }
              else {
              $sql = "SELECT * FROM kunden WHERE id=$edit";
              $result = mysql_query($sql,$db); 
              $data = mysql_fetch_array($result);
              ?>

              <form action = "marketing.php" method = "get">

              <?php $id=$data["id"?> 

                 <input type=hidden name="id" value="<? echo $data["id"] ?>"> 
                  <td><input type = "submit" value="Marketingaktion für Kunde mit Kdnr: 

              <? echo $data["id"] ?> eintragen "></td>

              <td> <? echo $sql; var_dump($edit)  ?>
              </form></td></tr></table>
              <form method="post" action="<? echo $_SERVER['PHP_SELF']  ?>">

              <table border="0" align="center">
              <tr>
              <td>Status</td>
              <td>
              <? if($data["status"]==0) { ?>
              <select name="status" size="1">
              <option value="0">Kunde
              <option value="1">Interessent
              </select>
              <? } else { ?>
              <select name="status" size="1">
              <option value="1">Interessent
              <option value="0">Kunde

              </select>
              <? } 

              ?>

              <td>Anrede</td>
              <td>
              <? if($data["anr"]==0) { ?>
              <select name="anr" size="1">
              <option value="0">Herr
              <option value="1">Frau

              </select>
              <? } else { ?>
              <select name="anr" size="1">
              <option value="1">Frau
              <option value="0">Herr

              </select>
              <? } 
              ?>
              </td>
              </tr>

              <tr><td>Firma</td><td>
              <input type="text" name="fname" value="<? echo $data["fname"] ?>" size="50">
              </td></tr>

              <tr><td>Vorname</td><td>
              <input type="text" name="vorname" value="<? echo $data["vorname"] ?>" size="50">
              </td></tr><tr><td>Name</td><td>
              <input type="text" name="name" value="<? echo $data["name"] ?>" size="50">
              </td></tr><tr><td>e-mail</td><td>
              <input type="text" name="email" value="<? echo $data["email"] ?>" size="50">
              </td></tr><tr><td>Telefon</td><td>
              <input type="text" name="tel" value="<? echo $data["tel"] ?>" size="50">
              </td></tr><tr><td>Strasse Nr.</td><td>
              <input type="text" name="str" value="<? echo $data["str"] ?>" size="40">
              <input type="text" name="hnr" value="<? echo $data["hnr"] ?>" size="5">
              </td></tr><tr><td>PLZ Ort</td><td>
              <input type="text" name="plz" value="<? echo $data["plz"] ?>" size="5">
              <input type="text" name="ort" value="<? echo $data["ort"] ?>" size="40">
              </td></tr>
              <tr><td>Kundenprofil</td><td>

              <textarea name="profil" wrap="standard" cols="40" rows"5"><? echo $data["profil"] ?>
              </textarea>
              </td></tr>

              <tr><td>Bemerkung</td><td>


              <textarea name="bemerkung" wrap="standard" cols="40" rows"5"><? echo $data["bemerkung"] ?>

              </textarea>
              </td></tr>
              <tr><td>&nbsp;</td><td>
              <input type="submit" name="submit" value="&Auml;ndern">
              </td></tr></table>
              </form>
              <?
              }
              }
              //Daten auslesen

              $sql = 'SELECT * FROM kunden ORDER BY name';

              if( $_GET['sort'] == 'desc' )
              {
                $sql .= ' desc';
              } else {
                $sql .= ' asc';
              }

              $result = mysql_query($sql,$db);

              ?>

              <table border="0" cellspacing="0" cellpadding="3" align="center">
              <tr>
              <td> <? echo $result; var_dump($edit) ?></td>
              <td>Suche:
              <form action = "suchadmin.php" method = "post">
                 <td> <input name = "anfrage"> </td>
                  <td><input type = "submit"></td>
                  <td><input type = "reset"></td>
              </form></td></tr></table>

              <table border="1" cellspacing="0" cellpadding="3" align="center">
              <tr>
              <td><b>ID</b></td>
              <td><b>Firma</b></td>
              <td><b>Vorname</b></td>
              <td><b>Nachname</b><?php echo '<a href="' $_SERVER['PHP_SELF'] . '?sort=desc">ab</a>';?>/
              <?php echo '<a href="' $_SERVER['PHP_SELF'] . '?sort=asc">auf</a>';
              ?></td>
              <td><b>Anrede</b></td>
              <td><b>Status</b></td>
              <td><b>e-mail</b></td>
              <td><b>Tel</b></td>
              <td><b>Strasse</b></td>
              <td><b>Nr</b></td>
              <td><b>PLZ</b></td>
              <td><b>Ort</b></td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              </tr>
              <? while ($daten = mysql_fetch_array($result)) { ?>
              <tr>
              <td><? echo $daten[id]; ?></td>
              <td><? echo $daten[fname]; ?></td>
              <td><? echo $daten[vorname]; ?></td>
              <td><? echo $daten[name]; ?></td>
              <td><? if ($daten[anr] == 0) {echo "Herr";} else {echo "Frau";}?></td>
              <td><? if ($daten[status] == 0) {echo "Kunde";} else {echo "Interessent";} ?></td>
              <td><? echo '<a href="mailto:'.$daten[email].'">'.$daten[email].'</a>'; ?></td>
              <td><? echo $daten[tel]; ?></td>
              <td><? echo $daten[str]; ?></td>
              <td><? echo $daten[hnr]; ?></td>
              <td><? echo $daten[plz]; ?></td>
              <td><? echo $daten[ort]; ?></td>
              <td><a href="<? echo ''.$_SERVER['PHP_SELF'] .'?clear='.$daten["id"].'' ?>">l

              &ouml;schen</a></td>
              <td><a href="<? echo ''.$_SERVER['PHP_SELF'] .'?edit='.$daten["id"].'' ?>">

              bearbeiten</a></td>
              </tr>
              <? } ?>
              Zuletzt geändert von sandra_weber; 24.10.2005, 21:38.

              Kommentar


              • #8
                Sag mal, Mädel, was genau bitte checkst du daran nicht, dass du gefälligst deinen Code umbrechen sollst, damit der Thread lesbar bleibt?

                Lies die Regeln - und dann brich bitte den Code in deinen bisherigen Postings um, und zwar bitte vor deiner nächsten Antwort.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  @happy
                  O-Ton topicstarter
                  mit Globals =on funktioniert der ganze spass reibungslos, aber würde das gerne für globals =off
                  bzw globalunabhängig schreiben.
                  Siehst du, doch ein Problem mit register_globals
                  Meine Glaskugel ist besser als deine

                  Gruss

                  tobi
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    Re: beim bearbeiten werden keine neue Daten übernommen...

                    Original geschrieben von sandra_weber
                    PS: habe vor verwendung alle Variablen so definiert:
                    $profil= (isset($_GET['profil'])) ? $_GET['profil'] : ' ';...
                    Daraus hab ich geschlossen, dass es nicht an register_globals liegt, aber man kann ja nicht immer gewinnen...
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      Es könnte ja ganz einfach auch an dieser gelungenen Zeile liegen:
                      Code:
                      <form action = "marketing.php" method = "get">
                      Mittels get verschicken und auf post zugreifen wollen funzt wahrscheinlich ned.

                      Gruss

                      tobi
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #12
                        @Sandra_Weber:

                        Die übergebenen POST-Werte stammen nicht aus dem GET-Formular, sondern aus
                        Code:
                        <form method="post" action="<? echo $_SERVER['PHP_SELF']  ?>">
                        Heisst allerdings: es gibt 2 Formulare mit jeweils einem Submit.

                        Wenn ich das ganze richtig überflogen habe, wird durch Submit1 das Datenbank-Update ausgelöst (Stichwort Variable $edit), dessen Daten jedoch durch Submit2 übermittelt werden. Das sollte so nicht gehen...

                        Wieso überhaupt 2 Forms?
                        "...vielleicht stehe ich vor dir und du erkennst mich nicht. Spielt das eine Rolle? Wir sah'n ins gleiche Licht..."

                        Kommentar


                        • #13
                          @sandra_weber
                          wenn der code VOR deiner nächsten antwort nicht umbebrochen ist, schliesse ich diesen thread!
                          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                          Kommentar


                          • #14
                            OffTopic:
                            Vielleicht sollte man dazu sagen, daß der Code im ersten Posting gemeint ist (also Umbrüche rein per Edit-Funktion!). Posting 2 ist ja fast okay
                            "...vielleicht stehe ich vor dir und du erkennst mich nicht. Spielt das eine Rolle? Wir sah'n ins gleiche Licht..."

                            Kommentar


                            • #15
                              Posting 2 ist ja fast okay
                              falsch!
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar

                              Lädt...
                              X