Problem mit einem Script

SantaCruze

Erfahrenes Mitglied
Hallo Zusammen :) Derzeit macht mir ein Script etwas sorgen. Und zwar ist es ein Formular zur Eingabe von Spielerprofilen. Allerdings funktioniert es nicht so wie es soll, es gibt zwar die Meldung "Eintragung erfolgreich" aus, aber trägt überhaupt keine Werte in die Datenbank ein, besser gesagt es ersetzt die vordefinierten Einträge mit leeren spalten. Die Ausgabe wird zwar in der Übersicht angezeigt, sprich das wohl das Profil geupdated wurde, allerdings verschwindet diese dann auch beim erneuten aufruf.

PHP:
include("connect.php");
function protectinput($value) {
     // HTML und PHP-Tags entfernen
     $value = strip_tags($value);
     // MySQL abfrage sichern
     $value = mysql_real_escape_string($value);

     return $value;
}
$titel = $_POST['titel'];
$msn = $_POST['msn'];
$icq = $_POST['icq'];
$beschreibung = $_POST['beschreibung'];
$image = $_POST['image'];

$sql = "UPDATE `user_info` SET titel='".protectinput($titel)."',icq='".protectinput($icq)."',msn='".protectinput($msn)."',beschreibung='".protectinput($beschreibung)."',image='".protectinput($image)."' WHERE userid='".$_SESSION['id']."'"; 
$result = mysql_query($sql);
if (! $result)
{
echo "<body bgcolor='#000000' text='#FFFFFF' link='#FFFFFF' vlink='#FFFFFF' alink='#FFFFFF'><font color='#FF6600' size='1' face='Verdana, Arial, Helvetica, sans-serif'><center>Dein Spieler Profil konnte nicht geupdated werden! </center></font>";
}
else
{
echo "<body bgcolor='#000000' text='#FFFFFF' link='#FFFFFF' vlink='#FFFFFF' alink='#FFFFFF'><font color='#33FF00' size='1' face='Verdana, Arial, Helvetica, sans-serif'><center>Dein Spielerprofil wurde erfolgreich geupdated! </center></font>";
}
?>

Und das Formular

HTML:
<form action="spielerprofileintrag.php" method="post">
  <table width="524" border="0" cellpadding="1" cellspacing="1" bgcolor="000000">
    <tr bgcolor="#181830" background="/n/leiste5.jpg">
      <td bgcolor="#10101F"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Spieler Profil Updaten </font></strong></td>
      <td bgcolor="#10101F">&nbsp;</td>
    </tr>
    <tr bgcolor="#181830">
      <td width="207" bgcolor="#181830"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Spieler - Titel</font></td>
      <td width="310"><input name="titel" type="text" id="titel" size="40" maxlength="120" /></td>
    </tr>
    <tr bgcolor="#181830">
      <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Beschreibung</font></td>
      <td><textarea name="beschreibung" cols="40" rows="3" id="beschreibung"></textarea></td>
    </tr>
    <tr bgcolor="#181830">
      <td bgcolor="#181830"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">ICQ Nr </font></td>
      <td><input name="icq" type="text" id="icq" size="20" maxlength="120" /></td>
    </tr>
    <tr bgcolor="#181830">
      <td bgcolor="#181830"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">MSN Nr </font></td>
      <td><input name="msn" type="text" id="msn" size="35" maxlength="120" /></td>
    </tr>
    <tr bgcolor="#181830">
      <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif">User Bild (URL) </font></td>
      <td><input name="image" type="text" id="image" size="35" maxlength="80" /></td>
    </tr>
  </table>
    <input type="submit" name="SUBMIT" value="Updaten">
</form>
 
Zuletzt bearbeitet:
PHP:
$sql = "UPDATE `user_info` WHERE titel='".protectinput($titel)."',icq='".protectinput($icq)."',msn='".protectinput($msn)."',beschreibung='".protectinput($beschreibung)."',image='".protectinput($image)."' WHERE userid='".$_SESSION['id']."'";
Fällt dir etwas auf? ;)
 
Hmm ich glaube es ist der Fehler den ich schonmal gemacht habe, die kommas dürfen nach dem SET nicht mehr hin oder? Da muss immer AND stehen? Ansonsten was sollte falsch sein? Bitte um belehrung xD
 
PHP:
$sql = "UPDATE `user_info` WHERE titel='".protectinput($titel)."',icq='".protectinput($icq)."',msn='".protectinput($msn)."',beschreibung='".protectinput($beschreibung)."',image='".protectinput($image)."' WHERE userid='".$_SESSION['id']."'";
Da ist überhaupt kein SET! Das erste WHERE soll wohl ein SET sein, ist es aber nicht.
 
Gib die Variablen doch mal aus, bevor du sie mit deiner protectinput Funktion bearbeitest, vielleicht läuft da etwas schief.
 
Zurück