odomanie: SQL & PHP: Datenbankeinträge ändern

Hallo zusammen :)

ziel des skipts soll es sein, dass werte aus einer datenbank geladen werden, die eine speziele id haben. die werte sollen dabei jeweils in ein input-feld geladen werden. nun sollen diese werte verändert werden können und dann durch ein submit-button per UPDATE- oder INSERT INTO-Befehl in die Datenbank geschrieben werden.

Soweit der Plan :)

Hier bisher mein Versuch

URL: http://www.domain.de/test?id=2

PHP-Code:

<?php  
$id = $_GET['id'];  
?>  
  
<table>  
<?php  
  
$mysqlhost="xxx"; // MySQL-Host angeben  
  
$mysqluser="xxx"; // MySQL-User angeben  
  
$mysqlpwd="xxx"; // Passwort angeben  
  
$mysqldb="xxx"; // Gewuenschte Datenbank angeben  
  
  
  
$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die  
  
("Verbindungsversuch fehlgeschlagen");  
  
  
  
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");  
  
  
  
$sql = "SELECT * FROM xxx WHERE id='$id'";  
  
  
  
$navigation_query = mysql_query($sql) or die("Anfrage nicht erfolgreich");  
  
  
?>  
  
  
<?php  
  
while ($nav = mysql_fetch_array($navigation_query)){  
  
?>  
  
 <tr>  
  <td style="font-weight:bold;">vorname</td>  
  <td><input style="width:300px;" type="text" name="vorname" value="<?php if (isset($nav['vorname'])) echo $nav['vorname']; ?>" title="vorname" /></td></tr>  
<?php } ?>  
</table>  
<br clear=all>  
<input type="submit" value="Abbrechen" onClick="window.location.reload()" /> <input type="submit" name="eintragen" id="eintragen" value="Speichern" />

Das Auslesen des Datensatzes der ID (hier ID=2) aus der Datenbank funktioniert schon mal. Nun muss ich den part mit dem abspeichern des feldes "vorname" schreiben. könntet ihr mir einen kleinen tipp geben?
Ich habe schon viele viele dinge gelesen und probiert, stehe aber wohl auf dem schlauch und wäre für ein paar tipps sehr dankbar. ich würde gern mit dem code hier weiterarbeiten, sofern das möglich ist. Vielen Dank für die Hilfe! :)

Odo

  1. Guten Tag,

    dein Posting ist sehr schwer lesbar. Ich werde es nicht weiter kommentieren, zumindest so lange nicht, bis du dir zumindest die Mühe gemacht hast, PROGRAMMCODE und (HTML-)MARKUP sauber und ordentlich zu trennen.

    Die Formatierung deines Postings ist völlig unsinnig und zerrissen. Deine "Programmierung" ist grundsätzlich dilettantisch ausgeführt. Erarbeite bitte alles neu und präsentiere uns dann einen sauber und klar dargelegten Programmieransatz. Das vorliegende "Fragment" ist nicht zuletzt gefährlich.

    Renne

    1. Guten Tag,

      dein Posting ist sehr schwer lesbar. Ich werde es nicht weiter kommentieren, zumindest so lange nicht, bis du dir zumindest die Mühe gemacht hast, PROGRAMMCODE und (HTML-)MARKUP sauber und ordentlich zu trennen.

      Hallo Renne

      ich habe alles nochmal überarbeitet und nun das folgende ergebnis. leider scheint es noch nicht zu 100% richtig zu sein. ich wäre für jeden tipp dankbar!

      <?php  
      $id = $_GET['id'];  
      ?>  
        
      <?php  
        
      $mysqlhost="xxx"; // MySQL-Host angeben  
        
      $mysqluser="xxx"; // MySQL-User angeben  
        
      $mysqlpwd="xxx"; // Passwort angeben  
        
      $mysqldb="xxx"; // Gewuenschte Datenbank angeben  
        
        
        
      $connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die  
        
      ("Verbindungsversuch fehlgeschlagen");  
        
        
        
      mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");  
        
      ?>  
        
        
      <?php  
        
          $query= mysql_query("SELECT * FROM 'tabelle' WHERE id={$id}")or die(mysql_error());  
        
          while($row = mysql_fetch_object($query)){  
            {  
           echo 'Spalte1: <input type="text" value="'.$row->Spalte1.'" name=Spalte1" /><br />';  
        
        
      if(isset($_POST["speichern"])){  
        
          $Spalte1= $_POST["Spalte1"];  
        
          $eintrag = "UPDATE 'tabelle' SET Spalte1='{$Spalte1}' WHERE id={$id}";  
      echo $eintrag; die();  
          mysql_query($eintrag);  
        }  
        
        ?>
      
      1. مرحبا

        $id = $_GET['id'];  
        $query= mysql_query("SELECT * FROM 'tabelle' WHERE id={$id}")  
          or die(mysql_error());
        

        <cite>"die()" ist ebenso sehr eine Fehlerbehandlung, wie Suizid eine Heilmethode ist.</cite> [link:http://community.de.selfhtml.org/my/zitatesammlung/zitat1282@title=Quelle]

        Dein Script lädt hacker förmlich dazu ein, dir irgendetwas schadhaftes unterzujubeln.

        mfg

  2. Liebe(r) odomanie,

    <?php

    $id = $_GET['id'];
    ?>

      
    Ganz schlecht! Später weiß man nicht mehr, woher der Wert in `$id`{:.language-php} stammt - insbesondere, dass der Wert potentiell gefährlich sein könnte (informiere Dich über SQL-Injections und wie man kontextgerecht kodiert).  
      
    
    > $sql = "SELECT \* FROM xxx WHERE id='$id'";  
      
    Jaja, SQL-Scheunentor... Keine negative Kritik ohne Verbesserungsvorschlag? Also kommt hier einer:  
      
    Diese ominöse ID, zu der Du keine weiteren Angaben machst, scheint auf einen Integer-Wert hinauszulaufen, nicht wahr? Dann könntest Du in der von mir bemängelten Zeile den $\_GET-Wert dahingehend säubern.  
      
    `$id = preg_replace('~\D~', '', $_GET['id']); // alle Nichtziffern entfernen`{:.language-php}  
      
    
    > <?php  
    >   
    > while ($nav = mysql\_fetch\_array($navigation\_query)){  
    >   
    > ?>  
    >   
    >  <tr>  
    >   <td style="font-weight:bold;">vorname</td>  
    >   <td><input style="width:300px;" type="text" name="vorname" value="<?php if (isset($nav['vorname'])) echo $nav['vorname']; ?>" title="vorname" /></td></tr>  
    > <?php } ?>  
    > </table>  
    > <br clear=all>  
    > <input type="submit" value="Abbrechen" onClick="window.location.reload()" /> <input type="submit" name="eintragen" id="eintragen" value="Speichern" />  
      
    Sowas ist wie schon zurecht bemängelt wurde, eine Zumutung zu lesen. Wenn Du Hilfe erwartest, dann solltest Du das Helfen so einfach wie möglich machen. Dazu gehört sauber aufgeräumter (und kommentierter!!) Code.  
      
    Liebe Grüße,  
      
    Felix Riesterer.
    
    -- 
    ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)