Hallo zusammen
Habe hier ein sehr merkwürdiges und für mich unerklährliches Problem...
Es geht um eine Updatefunktion, welche nur Funktioniert, wenn ich den Softwarename nicht editiere. D.h. wenn der Softwarename nicht geändert wird, Lizenzkey oder Version aber schon geht dies auch. Sobald der Softwarename mit im Spiel ist, geht es nicht mehr. Die Variabel $softwarename behält aber die Richtigkeit der Daten bis eine Zeile oberhalb des mysql_query's. Ich poste einfach mal das ganze file, hoffe jemand findet einen Fehler..
Thx, Stif
<?php
$senden = $_POST["Senden"];
$absenden = $_POST["Absenden"];
$loeschen = $_POST["Loeschen"];
//-----------------------------------------------------------------------------
//Daten für die Datenbank aus dem Formular verarbeiten
//-----------------------------------------------------------------------------
$softwarename = $_POST['softwarename'];
$version = $_POST['version'];
$lizenzkey = $_POST['lizenzkey'];
//-----------------------------------------------------------------------------
//Übernehmen der KundenID von der vorherigen Seite
//-----------------------------------------------------------------------------
if(!$senden AND !$absenden AND !$loeschen)
{
$kundenIDFS = $_GET["id"];
//-----------------------------------------------------------------------------
//Prüfen, ob auf der Seite vorher ein Kunde ausgewählt wurde. Wenn nicht, wird
//die Fehlermeldung ausgegeben und der User wird nach 4 sek. automatisch auf
//die vorherige Seite zurückgebracht.
//-----------------------------------------------------------------------------
if(empty($kundenIDFS))
{
?>
<table>
<tr>
<td width="30px"></td>
<td class="meldung">Zuerst einen Kunden auswählen</td>
</tr>
<tr>
<td height="10px"></td>
</tr>
</table>
<meta http-equiv="refresh" content="4; url=index.php?site=itres_overview">
<?php
}
}
?>
<table>
<tr>
<td width="30px"></td>
<td> <h5>Software wählen</h5></td>
</tr>
<tr>
<td width="30px"></td>
<td>
<form action="index.php?site=software_edit" method="post">
<input type="hidden" name="softwarename" value="<?php echo $softwarename; ?>">
<input type="hidden" name="kundenIDFS" value="<?php echo $kundenIDFS; ?>">
<select name="softwarename">
<?php
//-----------------------------------------------------------------------------
//Hier werden alle Softwareeinträge die es gibt ausgelesen und
//in ein Auswahlformular eingetragen
//-----------------------------------------------------------------------------
error_reporting(0);
$res = mysql_query("SELECT * FROM t_software WHERE kundenIDFS = '$kundenIDFS'");
while($row = mysql_fetch_array($res))
{
echo "<option value=";
echo $row["softwarename"];
echo ">";
echo $row["softwarename"];
echo "</option>";
}
?>
</select>
<input class="button" type="submit" value="absenden" name="Absenden" />
</form>
</td>
</tr>
</table>
<?php
$softwarename = $_POST["softwarename"];
$res2 = mysql_query("SELECT * FROM t_software WHERE softwarename = '$softwarename'");
$row2 = mysql_fetch_array($res2);
$softwareID = $row2['softwareID'];
?>
<table>
<tr>
<td width="30px"></td>
<td></td>
</tr>
<tr>
<td width="30px"></td>
<td>
<?php
//-----------------------------------------------------------------------------
//Daten in die Datenbank eintragen
//-----------------------------------------------------------------------------
if($senden)
{
if (empty($softwarename))
{
$fault_softwarename = "Softwarename fehlt";
}
if (empty($lizenzkey))
{
$fault_lizenzkey = "Lizenzkey fehlt";
}
if ($softwarename AND $lizenzkey != "")
{
echo "<h4>Software erfolgreich editiert</h4>";
mysql_query("UPDATE t_software SET softwarename = '".$softwarename."', version = '".$version."', lizenzkey = '".$lizenzkey."' WHERE softwareID = $softwareID");
}
}
//-----------------------------------------------------------------------------
//Sobald der Button "Löschen" geklickt wird, löscht es den Arbeitsrapport
//welcher ausgewählt wurde
//-----------------------------------------------------------------------------
if ($loeschen)
{
echo "<h4>Software erfolgreich gelöscht</h4>";
mysql_query("DELETE FROM t_software WHERE softwareID = '$softwareID'");
}
?>
</td>
</tr>
</table>
<table>
<form action="index.php?site=software_edit" method="post">
<input type="hidden" name="kundenIDFS" value="<?php echo $kundenIDFS; ?>">
<input type="hidden" name="softwareID" value="<?php echo $softwareID; ?>">
<tr>
<td width="30px" align="right">*</td>
<td width="200px">Softwarename</td>
<td width="350px"><input maxlength="30" size="60" type="text" name="softwarename" value="<?php echo $row2['softwarename']; ?>" /></td>
<td class="meldung"><?php echo $fault_softwarename; ?></td>
</tr>
<tr>
<td width="30px" align="right"></td>
<td width="200px">Version</td>
<td width="350px"><input maxlength="30" size="60" type="text" name="version" value="<?php echo $row2['version']; ?>" /></td>
<td></td>
</tr>
<tr>
<td width="30px" align="right">*</td>
<td width="502px">Lizenzkey</td>
<td width="350px"><input maxlength="30" size="60" type="text" name="lizenzkey" value="<?php echo $row2['lizenzkey']; ?>" /></td>
<td class="meldung"><?php echo $fault_lizenzkey; ?></td>
</tr>
<tr>
<td></td>
<td width="25%" align="right"><input class="button" name="Senden" type="submit" value="Speichern" /></td>
<td><input class="button" name="Reset" type="reset" value="Reset"/></td>
</tr>
<tr>
<td height="30px"></td>
<td></td>
</tr>
<tr>
<td width="30px"></td>
<td class="meldung">Arbeitsrapport löschen</td>
<td><input size="50" class="button" name="Loeschen" type="submit" value="Löschen"/></td>
<td></td>
</tr>
</form>
<tr>
<td height="5px"></td>
</tr>
</table>