Proil ändern Script

Simonon

Gesperrt
Hi also habe hier so ein Script gebastelt damit der User sein Profil ändern kann.

PHP:
<? 
 
$name = $_POST[name];
$hobbies = $_POST[hobbies];
$geburt = $_POST[geburt];
$avatar = $_POST[avatar];

  mysql_connect("localhost",
  "web348","4951346");
  mysql_select_db("usr_web348_1");

$id = $_SESSION['id'];
  
  $aendern = "UPDATE usertabelle Set name = '$name', hobbies = '$hobbies', geburt = '$geburt', avatar = '$avatar'
  WHERE id = '$id'";


  $update = mysql_query($aendern);
  

  ?>

  
<form name="form1" method="post" action="index1.php?action=profil">
  <table width="173" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="29">&nbsp;</td>
      <td width="144"><input name="name" type="text" id="name" value="<? echo $name ?>"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input name="hobbies" type="text" id="hobbies" value="<? echo $hobbies ?>"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input name="geburt" type="text" id="geburt" value="<? echo $geburt ?>"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input name="avatar" type="text" id="avatar" value="<? echo $avatar ?>"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit" value="Senden"></td>
    </tr>
  </table>
</form>

Nur wie kann ich es jetzt machen das wenn ein Feld nicht ausgefüllt wird.
Das dann dieser Wert nicht upgedatet wird
Bitte genau

Gruss Simon;-)
 
Mach es dir nicht so kompliziert und denk andersherum. Schreib ein Profil, wo die aktuellen Daten in die Textfelder eingetragen werden, diese können dann geändert werden, danach wird alles einfach gespeichert, es gibt schliesslich auch Leute die wollen Teile aus ihrem Profil löschen ohne das durch etwas anderes zu ersetzen und ohne direkt den Account zu löschen.

MfG dtdesign
 
Angenommen jmd hat als Bday 01.01.1001 stehen und ändert das ganze nun in "nichts" - würde ja heißen er will das das Feld leer bleibt. Wenn er nun das Formular absendet und du den Inhalt vom input Feld "gebutstag" nimmst wird ja "nichts" in die Datenbank eingetragen. Wozu willst du dann überprüfen ob $_POST['geburtstag'] leer ist, um dann manuell "nichts" einzufügen?!
 
HI also das mit dem ändern und so funktioniert wunderbar.
Nur die Felder sind nur voll wenn ich zuvor etwas eingefüllt habe.

Hier der Code:

PHP:
<?
$beruf = $_POST[beruf];
$hobbies = $_POST[hobbies];
$geburt = $_POST[geburt];
$msn = $_POST[msn];
$icq = $_POST[icq];
$aim = $_POST[aim];
$avatar = $_POST[avatar];
$höhe = $_POST[höhe];
$weite = $_POST[weite];

$id = $_SESSION['id']; 

  $aendern = "UPDATE usertabelle Set beruf = '$beruf', hobbies = '$hobbies', geburt = '$geburt', icq = '$icq', aim = '$aim', msn = '$msn', avatar = '$avatar', avatarh = '$höhe', avatarw = '$weite'
  WHERE id = '$id'";

  $update = mysql_query($aendern);
  ?><?


  mysql_connect("localhost",
  "web348","4951346");
  mysql_select_db("usr_web348_1");


  
  $abfrage = "SELECT * FROM usertabelle WHERE id = $id";
   $result = mysql_query($abfrage);
   while($row = mysql_fetch_object($result))
    {
  ?>  
<form name="form1" method="post" action="index1.php?action=profil">
  <p>&nbsp;</p>
  <table width="173" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td width="4" background="http://sunInfo.spacig.de/Templates/bar01.jpg">&nbsp;</td>
      <td width="449" background="http://sunInfo.spacig.de/Templates/bar02.jpg"><div align="center"><strong>Profil &auml;ndern </strong></div></td>
      <td width="4" background="http://sunInfo.spacig.de/Templates/bar03.jpg">&nbsp;</td>
    </tr>
    <tr>
      <td colspan="3"><table width="457" border="1" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td width="100">Beruf:</td>
          <td width="240"><input name="beruf" type="text" id="beruf" value="<? echo $row->beruf; ?>" size="40"></td>
          <td width="109" rowspan="10"><div align="center"><img src="<?  echo $row->avatar; ?>" alt="Dein Avatar" name="gggg" height="<?  echo $row->avatarh ?>"></div></td>
        </tr>
        <tr>
          <td>Hobbies:</td>
          <td><input name="hobbies" type="text" id="hobbies" value="<?  echo $row->hobbies; ?>" size="40"></td>
        </tr>
        <tr>
          <td>Geburtstag:</td>
          <td><input name="geburt" type="text" id="geburt" value="<?  echo $row->geburt; ?>" size="40"></td>
        </tr>
        <tr>
          <td>MSN:</td>
          <td><input name="msn" type="text" id="msn" value="<?  echo $row->msn; ?>" size="40"></td>
        </tr>
        <tr>
          <td>ICQ:</td>
          <td><input name="icq" type="text" id="icq" value="<?  echo $row->icq; ?>" size="40"></td>
        </tr>
        <tr>
          <td>AIM:</td>
          <td><input name="aim" type="text" id="aim" value="<?  echo $row->aim; ?>" size="40"></td>
        </tr>
        <tr>
          <td>Avatar URL: </td>
          <td><input name="avatar" type="text" id="avatar" value="<?  echo $row->avatar; ?>" size="40"></td>
        </tr>
        <tr>
          <td>Avatar H&ouml;he: </td>
          <td><input name="h&ouml;he" type="text" id="h&ouml;he" value="<?  echo $row->avatarh; ?>" size="20">
      Pixel</td>
        </tr>
        <tr>
          <td>Avatar Breite: </td>
          <td><input name="weite" type="text" id="weite" value="<?  echo $row->avatarw; ?>" size="20">
      Pixel</td>
        </tr>
        <tr>
          <td colspan="2"><div align="center">
              <input type="submit" name="Submit" value="Senden">
          </div></td>
        </tr>
      </table></td>
    </tr>
  </table>
  <p>&nbsp;</p>
</form>  
<?
};
?>

Also was stimmt hier nicht?
Also wenn man zuvor etwas reingeschrieben hat dann funktionierts.
Aber wenn man sagen wir auf die Seite geht und dann das Profil ändern will,dann sind die Felder leer.

Gruss Simon

Was stimmt an diesem Script nicht`?
 
Zurück