Felix Riesterer: SQL & PHP: Datenbankeinträge ändern

Beitrag lesen

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:)