Ankündigung

Einklappen
Keine Ankündigung bisher.

update-problem

Einklappen

Neue Werbung 2019

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

  • update-problem

    hi,
    habe ein kleines problem mit der update funktion..und ich sehe de fehler nicht...naja...ist auf drei files aufgeteilt - file1 [id-reihe zum edit aussuchen] --> file2 zeigt alten text und edit für neuen --> file3 schreibt die daten in di db--tab...

    (1)
    PHP-Code:
    <form method="POST" action="update.php">
    [b]
     ID[/B]<input type="text" name="idc" size="10"> 
    <input type="submit" value="update" name="B1"></p></p>
    </form>
    <?php
     
    include("connection.php");
    $display_user true;
    if ( 
    $display_user )     {  
    print 
    "<table border=\"0\" bgcolor=#C0C0C0 width=850>"
    print 
    "</td><td width=51 valign=top colspan=\"1\">";
    print 
    "[b]ID[/b]";                
    print 
    "</td><td width=800 valign=top colspan=\"1\">";
    print 
    "[b]Werbetexte[/b]";
    print 
    "</td></table>"
    $abfrage "SELECT id, signatur from $tab3 ORDER BY `id` ASC";
    $erg mysql_db_query("$dbname",$abfrage,$link);
    while (list(
    $id$signatur) = mysql_fetch_row($erg))    {
    print 
    "<table border=\"0\">";                   
    print 
    "<td width=50 valign=top >$id</td><td width=800 valign=top >$signatur</td></table>";  } }
    ?>
    (2)
    PHP-Code:
    <?php
    include("connection.php");
    $display_user true;
    if ( 
    $display_user )     {  
    print 
    "

    [b]WERBETEXT[/b]

    "

    $abfrage "SELECT * from $tab3 where id=$idc";
    $erg mysql_db_query("$dbname",$abfrage,$link);    
    while (list(
    $id$signatur) = mysql_fetch_row($erg))    {
    print 
    "$signatur";  }  }
    ?>
    <hr>
    <form method="POST" action="update2.php">
    [b]neuer Text[/B]


    <textarea rows="5" name="newtxt" cols="30"></textarea>


    <input type="submit" value="updaten" name="B1"></p>
    </form>
    (3)
    PHP-Code:
    <?php
    include("connection.php");
    $schreiben "update $tab3 set signatur='$_REQUEST[newtxt]' where id='$idc'";
    $test mysql_db_query("$dbname"$schreiben$link);
    if(
    $test) { echo "Erfolgreich"; } 
    else { echo 
    "Fehler"; }   
    if ( ! 
    mysql_query$query$link ) ) 
    $dberror mysql_error(); return false; }
    return 
    true;
    echo 
    "

    Text wurde upgedated"
    ;
    echo 
    "

    $newtxt";
    ?>
    thx
    cya

  • #2
    mysql_db_query() ist veraltet, nutze mysql_select_db() und mysql_query().
    nach jedem mysql_query() nen or die( mysql_error() ); wäre schon mal nicht schlecht
    um evtl. Fehlermeldungen abzufangen.

    Kommentar


    • #3
      *hehe*
      also das kann ich ja bei gelegenheit ändern...das kleine problem liegt darin, dass die $id zwar in die 2te file übertrage wird, aber nicht mehr in die dritte - why? fehlermeldung gibtts in dem sinne nicht, da so ja lles funktioniert - wie bringe ich halt die $id durch 3files?

      dachte daran in file 1 zusätzlich noch eine xy.php zu erstellen, wo die $id gespeichert werden würde und die zweite und dritte file würden diese daraus herauslesen und nach dem erfolgreichen update löschen - aber das ist etwas kompliziert..es geht bestimmt einfacher...heöft mir

      danke
      cya

      Kommentar


      • #4
        Scheinbar stehen bei dir die register_globals auf off, sonst müsstest du schon im 2. Script auf $_POST['idc'] abfragen, was auch sicherer wäre. Um nun die Id auch noch ins dritte Script zu bringen, verwendest du entweder Sessions, oder du gibst sie in einem hidden field weiter:
        Code:
        echo "<input type='hidden' name='idc' size='10' value='$idc' />";
        bzw.
        Code:
        echo "<input type='hidden' name='idc' size='10' value='" . $_POST['idc'] . "' />";
        Gruss
        L

        Kommentar


        • #5
          ähm ich seh grad .. 1 -> 2 ist klar .. aber von 2 -> 3 kann gar nicht gehen, weil das von
          lazy erwähnt hidden-field fehlt .. und nachdem du ohne sessions arbeitest müsstest du
          es so hinten rum mit durchschleifen.

          Kommentar

          Lädt...
          X