tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
329
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Mirko_Boehm Mirko_Boehm ist offline Rookie
    Registriert seit
    Aug 2003
    Beiträge
    6
    Hallo

    Vielleicht kann mir jemand einen Tipp geben. Ich habe ein Updateformular wo in der URL die id (http://www.meineurl.de/cp/update.php?nr=41883882) angegeben ist. ich kann im Formular eine neue emailadresse angeben und dann die entsprechende emailadresse updaten. das funktioniert auch einwandfrei.

    nun möchte ich aber dass das formularfeld nicht leer ist sondern die alte emailadresse vorhanden ist. wie kann ich das bewerkstelligen?

    mein vorhandener code:

    PHP-Code:
    <?php


    $formularAnzeigen 
    false;
    if (!empty(
    $_POST["senden"]) && (
         empty(
    $_POST["update"])))
          {
            
    $formularAnzeigen true;
            echo 
    '<span style="color: #FF0000; font-size: x-large;">Bitte Update bestätigen.</span>';
          } 
          else if (empty(
    $_POST["senden"]))
          {
            
    $formularAnzeigen true;  
          }
    if (
    $formularAnzeigen)
    {

        
            
    ?>

      <form name="kontaktFormular" method="post" action="<?=$_SERVER[PHP_SELF].'?nr='.$auftragnr?>">
      <table width="600" border="0">    
       <!--eMail--><tr><td>E-Mail Adresse: *</td><td><input name="eMail" type="text" value="<?=$_POST['eMail']; ?>" /></td></tr>  
       <!--Update--><tr><td>Auftrag <?php echo $auftragnr ?> ändern?:</td><td><select name="update"><option <?=($_POST['update']=='')?'selected':''?>></option><option <?=($_POST['update']=='nein')?'selected':''?>>nein</option><option <?=($_POST['update']=='ja')?'selected':''?>>ja</option></select></td></tr>
       <!--senden--><tr><td colspan="2"><div align="center"><input name="senden" type="submit" value="Senden" /></div></td></tr>
      </table>
      </form>
      
    <?php

    }
    else
    {
      
    $eMail=$_POST['eMail']; 
      
    $update=$_POST['update'];
      
      if (
    $update =="ja")
      {
        
    mysql_query("UPDATE auftrag SET eMail = '$eMail' WHERE auftragnr = '$auftragnr'") or die( mysql_error());

        
    $result mysql_query("SELECT * FROM auftrag WHERE auftragnr = '$auftragnr' ") or die( mysql_error());
        
    $row mysql_fetch_array($result);
        
    $eMailneu=$row['eMail'];

      echo 
    "neue E-Mailadresse: ".$eMailneu." im Auftrag ".$auftragnr;

        }
        else
      {
        echo 
    "Es wurde keine Änderung des Auftrages vorgenommen." ;
      }


    }
    ?>
     

  2. #2
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Ich glaub ich versteh nicht ganz was du meinst.

    Soll die alte/vorhandene eMail Adresse angezeigt werden wenn die Seite geladen wird um sie dann zu überschreiben oder soll nach dem Ändern angezeigt werden das die eMail Adresse von "alteadresse" in "neueadresse" geändert wurde
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  3. #3
    Mirko_Boehm Mirko_Boehm ist offline Rookie
    Registriert seit
    Aug 2003
    Beiträge
    6
    wenn ich das formular das erste mal aufrufe soll die alte also noch momentane emailadresse angezeigt werden.

    dann trag ich die neue emailadresse ein und geh auf senden. dann wird die neue emailadresse in die datenbank eingegeben und wieder ausgegeben.

    das update funktioniert nur beim ersten aufruf ist mein feld leer anstatt dass die alte emailadresse angezeigt wird
     

  4. #4
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    Zitat Zitat von Mirko_Boehm Beitrag anzeigen
    das update funktioniert nur beim ersten aufruf ist mein feld leer anstatt dass die alte emailadresse angezeigt wird
    beim ersten Aufruf gibt es ja auch noch keine POST-Daten. Für den Fall müsstest Du die Adresse schon aus der Datenbank auslesen.

    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

  5. #5
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Du mußt beim ersten Aufruf der Seite die Variable $_POST["eMail"] mit dem enstprechenden Wert belegen.

    Wenn der Wert noch nicht vorhanden ist, musst du eben diese Abfrage ausführen:

    PHP-Code:
    $result mysql_query("SELECT eMail FROM auftrag WHERE auftragnr = '$auftragnr' LIMIT 1") or die( mysql_error()); 
    $row mysql_fetch_array($result); 
    $_POST['eMail'] = $row['eMail']; 

    Dann wird das Feld gefüllt.
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  6. #6
    Mirko_Boehm Mirko_Boehm ist offline Rookie
    Registriert seit
    Aug 2003
    Beiträge
    6
    ich habs nun...

    bevor das formular aufgerufen hab hab ich nun einfach die aktuelle emailadresse ausgelesen und als $_POST['eMail'] definiert

    Code :
    1
    2
    3
    4
    
    $sql = "SELECT * FROM `auftrag` where `auftragnr` = $auftragnr";
    $ergebnis = mysql_query($sql) or die( mysql_error());
    $row = mysql_fetch_object($ergebnis);
    $_POST['eMail']=$row->eMail;


    es funktioniert einwandfrei... hoffe nur es ist auch korrekt
     

  7. #7
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Stimmt schon, aber schau dir nochmal meinen Eintrag an.

    Wenn du nur die eMail Adresse braucht, warum fragst du dann alle Felder ab. Außerdem brauchtst du nur einen Eintrag aus der DB und kannst es somit mit LIMIT verkürzen!!
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  8. #8
    Mirko_Boehm Mirko_Boehm ist offline Rookie
    Registriert seit
    Aug 2003
    Beiträge
    6
    Danke für deinen Beitrag!

    das mit dem limit ist eine super idee!

    ich frage alle felder ab da das formular nachdem es nun funktioniert ausgebaut wird denn man soll die möglichkeit haben alle 25 felder zu aktualisieren.

    du hast natürlich recht das man sonst nur email raussuchen müsste!
     

Ähnliche Themen

  1. Löschen von input-feldern
    Von droni im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 17.02.10, 10:55
  2. Oracle 10g; Bedingte Anzeige von Feldern in Select-Bedingung
    Von hamburger83 im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 20.02.09, 11:01
  3. Teilsuche in Feldern
    Von Binio im Forum Office-Anwendungen
    Antworten: 14
    Letzter Beitrag: 05.12.08, 22:04
  4. cUrl mit & in den Feldern.
    Von PowerCheat im Forum PHP
    Antworten: 1
    Letzter Beitrag: 06.07.08, 02:17
  5. Kontaktformular mit mehreren Feldern
    Von Tyral Parker im Forum PHP
    Antworten: 7
    Letzter Beitrag: 09.04.03, 23:46

Stichworte