php update

A

Alpha63

Hallo
ich habe ein fomular die einen user updaten. die daten die dort eingegeben werden an eine 2 php geschickt die das dan in db schreibt.

ich will das wenn nichts ankommt in dem 2 php script. das auch nichts verändert wird.


wie mache ich das
 
Mit einem if auf deine 2 Felder

Wenn du wirklich willst das wir die helfen können, solltest du mal posten was du schon hast.
 
Fomular:
Code:
<?php
session_start();
if (!isset($_SESSION['user']))
{
 die ('<br><br><br><br><br><br><br><br><br><br><br><br><br><center>Sie sind nicht eingeloggt. Loggen Sie sich  ein. <a href="a_login.php">Login</a></center>' ); 
}
?>


<head>
<title>Update</title>
<script src="../SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
<link href="../SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css">
</head>

<body>

<form id="Fomular" name="Fomular" method="post" action="update1.php">
<?PHP
$id = $_GET['id'];
echo "Sie haben folgende ID ausgewählt: $id<br></br></br>";

?>
  <label><br>
  </label>
  <label><br>
  </label>
  <table width="0" border="0">
    <tr>
      <td width="112">ID.:</td>
      <td width="638"><input name="id" type="text" id="id" value="<?php echo $id; ?>" size="28"></td>
    </tr>
    <tr>
      <td>Strasse:</td>
      <td><span id="sprytextfield1">
        <label>
        <input name="strasse" type="text" id="strasse" size="28">
        </label>
      <span class="textfieldRequiredMsg">Es muss ein Wert angegeben werden.</span></span></td>
    </tr>
    <tr>
      <td>Plz.:</td>
      <td><span id="sprytextfield2">
        <label>
        <input name="plz" type="text" id="plz" size="28">
        </label>
      <span class="textfieldRequiredMsg">Es muss ein Wert angegeben werden.</span></span></td>
    </tr>
    <tr>
      <td>Ort:</td>
      <td><span id="sprytextfield3">
        <label>
        <input name="ort" type="text" id="ort" size="28">
        </label>
      <span class="textfieldRequiredMsg">Es muss ein Wert angegeben werden.</span></span></td>
    </tr>
    <tr>
      <td>E-Mail:</td>
      <td><span id="sprytextfield4">
        <label>
        <input name="email" type="text" id="email" size="28">
        </label>
      <span class="textfieldRequiredMsg">Es muss ein Wert angegeben werden.</span></span></td>
    </tr>
    <tr>
      <td>Tel.:</td>
      <td><span id="sprytextfield5">
        <label>
        <input name="tel" type="text" id="tel" size="28">
        </label>
      <span class="textfieldRequiredMsg">Es muss ein Wert angegeben werden.</span></span></td>
    </tr>
    <tr>
      <td>User Aktivieren:</td>
      <td><label>
        <input name="aktiv" type="checkbox" id="aktiv" value="ja" checked>
      </label></td>
    </tr>
  </table>
  <p>&nbsp;</p>
  <p>
    <label></label>
    <label>
    <INPUT name="Senden" type=submit value="Senden">
    </label>
</p>
</form>



<script type="text/javascript">
<!--
var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1");
var sprytextfield2 = new Spry.Widget.ValidationTextField("sprytextfield2");
var sprytextfield3 = new Spry.Widget.ValidationTextField("sprytextfield3");
var sprytextfield4 = new Spry.Widget.ValidationTextField("sprytextfield4");
var sprytextfield5 = new Spry.Widget.ValidationTextField("sprytextfield5");
var sprytextfield6 = new Spry.Widget.ValidationTextField("sprytextfield6");
//-->
</script>
</body>
</html>

Das script was die daten dan abspeichert:

<?php
session_start();
if (!isset($_SESSION['user']))
{
 die ('<br><br><br><br><br><br><br><br><br><br><br><br><br><center>Sie sind nicht eingeloggt. Loggen Sie sich  ein. <a href="a_login.php">Login</a></center>' ); 
}
	

$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("lol", $con);

 mysql_query("UPDATE users SET ort='$_POST[ort]',plz='$_POST[plz]',strasse='$_POST[strasse]',tel='$_POST[tel]',email='$_POST[email]',user_activated = '$_POST[aktiv]'
 WHERE id = '$_POST[id]'");

 mysql_close();
 header("Location: fechtarr.php");
?>


spytextbox sind bloß felder die schauen ob was drinne steht. ist egal ich will aufjedenfall wenn nichts drinne steht das auch nichts verändert wird.

sprich ich will nur pw und tel ändern. den rest aber lassen. dan soll er nur die 2 sachen ändern und den rest lassen

mfg thx schon mal
 
Meine Signatur:
Item: Ich lese keinen Code mehr, der nicht formatiert und mindestens in [ CODE]..[/CODE ] (besser noch den Tag der jeweiligen Sprache) gesetzt ist
Item: Formatiert den Code (auch SQL-Statements) sauber - dann kann man ihn auch lesen

es gibt PHP-Tags. Ich hab grad kein Bock den ganzen Code zu formatieren um ihn lesen zu können.

Es reicht wenn du den Teil postest, wo die Daten gespeichert werden.

Nun, der betroffene Code-Teil ist ja sehr klein.

Wie wärs mit dem folgenden Lösungsansatz?
PHP:
    mysql_select_db("lol", $con);
    
    $set = array();
    if ($_POST[ort]) $set[] = "ort='{$_POST[ort]}'"; 
    if ($_POST[plz]) $set[] = "plz='{$_POST[plz]}'"; 
    if ($_POST[strasse]) $set[] = "strasse='{$_POST[strasse]}'"; 
    if ($_POST[tel]) $set[] = "tel='{$_POST[tel]}'"; 
    if ($_POST[email]) $set[] = "email='{$_POST[email]}'"; 
    if ($_POST[aktiv]) $set[] = "user_activated='{$_POST[aktiv]}'"; 
    
    if(count($set)>0 && $_POST[id]){
        $sql = "UPDATE users SET ".implode(", ", $set)."WHERE id = '$_POST[id]'";
    }
    
    mysql_query($sql);
 
Zuletzt bearbeitet:
danke für die schnelle antwort

aber

zeile 44 ist falsch.

da steht das hier:
PHP:
 if(count($set)>0 && $_POST[id]){
 
SORRY
hab mich verlesen bei der eingabe bei mir

habe was falsch gesetzt. es t wunderbar

vielen dank

jetzt brauch in einen filter oder eine such funktion für die seite.

können sie mir da weiter helfen?
 
Zurück