alessandro_91
Grünschnabel
Hallo Zusammen
Ich muss mich erneut an euch wenden, da ich seit längerem an ein Problem hänge..
Beschreibung:
In einer Datenbank habe ich Attribute mit dem Datentyp tinyint(1) sprich entwerde den Wert 1 oder 0.
Nun soll meine PHP-Seite die Werte dieses Attributes auslesen.
Wenn der Wert des Attributes 0 ist, soll die Checkbox auf der PHP-Seite nicht angewählt werden, steht hingegen eine 1 im Attribut, soll die Checkbox angewählt sein.
Ich habe bereits die möglichkeit, alle Werte auslesen zu lassen (und als Text oder Zahl anzeigen zu lassen)
Wie ich nun die Checkboxen ansteuer soll weiss ich nicht.. :-/
Hier ein Codeabschnitt:
Mir ist klar dass im Code Sicherheitslücken sind und nicht so schön für die Profis ist.. Mir geht es in erster linie darum das es funktioniert.. Die Seite wird nur im Intranet(von unseren Mitarbeiter) benutz.
Ich hoffe irgend jemand kann mir helfen..
Vielen Dank im Voraus
Grüsse
Alessandro
Ich muss mich erneut an euch wenden, da ich seit längerem an ein Problem hänge..
Beschreibung:
In einer Datenbank habe ich Attribute mit dem Datentyp tinyint(1) sprich entwerde den Wert 1 oder 0.
Nun soll meine PHP-Seite die Werte dieses Attributes auslesen.
Wenn der Wert des Attributes 0 ist, soll die Checkbox auf der PHP-Seite nicht angewählt werden, steht hingegen eine 1 im Attribut, soll die Checkbox angewählt sein.
Ich habe bereits die möglichkeit, alle Werte auslesen zu lassen (und als Text oder Zahl anzeigen zu lassen)
Wie ich nun die Checkboxen ansteuer soll weiss ich nicht.. :-/
Hier ein Codeabschnitt:
PHP:
<FORM name="readvalues" method="GET" action="kundenbearbeiten.php" >
<?php
echo "Die Enter-Taste bewirkt NUR das Auslesen der Werte";
echo "</br>";
echo "Kundennummer:";
?>
<input type='text' name='kdnr' required='required'>
<input type='submit' name='readvalues' value='Werte Auslesen'>
<input type='submit' name='writevalues' value='Werte in Datenbank schreiben'">
<?php
//Um die Fehlermeldung der Initial-Variable(welche am Anfang Leer ist) zu unterdrücken setzen wir folgende If-Schleife:
if (isset($_GET['kdnr']) AND $_GET['kdnr']){
$temp = $_GET['kdnr'];
}
if (isset($_GET['kdnr']) AND $_GET['kdnr']){
$result = send_sql($globalDbName, "Select * from kundentbl where debitor =".$_GET['kdnr']."");
while ($zeile=mysql_fetch_array($result)){
echo "Debitor:";
echo "</br>";
echo "<input type='text' name='debitor' value=".$zeile['debitor'].">";
echo "</br>";
echo "Firma:";
echo "</br>";
echo "<input type='text' name='firma' value='".$zeile['firma']."'>";
echo "</br>";
echo "Checkbox:";
echo "</br>";
echo "<input type='checkbox' name='check' value='".$zeile['check']."'>";
// Hier kann ich den Wert des Tinyint(1) so nicht auslesen.. ist ja irgendwie logisch^^ wie kann ich den Wert nun korrekt in diese Checkbox eintragen?
}
}
if(isset($_GET['writevalues']) AND $_GET['writevalues']){
send_sql($globalDbName,"Update kundentbl set debitor=".$_GET['debitor'].",
firma='".$_GET['firma']."',
check='".$_GET['check']."' <<<<< Hier müsste ich den neuen Wert in die Datenbank übermitteln
where debitor=".$temp."");
echo "<meta http-equiv=\"refresh\" content=\"0; URL=kundenbearbeiten.php\">";
//um das erneute auslesen der Daten zu verhindern(ohne dies, würde nach senden der SQL-Inj. die alte Werte wider in den Feldern stehen, obwohl die neuen bereits in der Datenbank geschrieben wurden)
}
?>
</FORM>
Mir ist klar dass im Code Sicherheitslücken sind und nicht so schön für die Profis ist.. Mir geht es in erster linie darum das es funktioniert.. Die Seite wird nur im Intranet(von unseren Mitarbeiter) benutz.
Ich hoffe irgend jemand kann mir helfen..
Vielen Dank im Voraus
Grüsse
Alessandro