method=post und IIS
b-phase
- php
0 Vinzenz Mai0 b-phase
Hallo zusammen
ich benötige mal wieder Eure Hilfe, ich habe folgendes Problem:
Ich habe einen IIS 6.0 mit PHP, MySQL und phpMyAdmin aufgesetzt. Läuft soweit alles wunderbar, ich kann in die DB auch Daten einpflegen.
Probleme habe ich nun allerdings, wenn ich versuche per POST-Befehl eines Formulares über PHP Daten an die DB zu versenden. Scheinbar wird der POST-Befehl nicht erkannt, bzw die Daten werden nicht zurück geschrieben. Ich habe es auch bereits mit GET versucht. Der übergebene String erscheint auch in der Adresse des Browsers mit GET. Merkwürdigerweise arbeitet phpMyAdmin ebenfalls mit POST-Befehlen, was natürlich funktioniert. Ich dachte es währe vielleicht ein Berechtigungsproblem der Dokumente auf dem IIS, diese habe alle verglichen, der IIS ist ebenfall identisch mit phpMyAdmin. Ich komme einfach nicht darauf, woran es liegen könnte. Vielleicht kann mir jemand noch einen Tip geben? Hier noch der verwendete Quellcode:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Dateneingabe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<?
if (isset($cmd1) && $cmd1 == "send"){
include("dbopen.php");
$datum = date("d.m.Y");
$sql = "INSERT INTO essen1 (kategorie, gericht, info, preis, datum) VALUES ('$kategorie', '$gericht', '$info', '$preis', '$datum')";
$result = mysql_query($sql);
if ($result){
echo "Datensatz wurde erstellt";
}
else {
echo "Datensatz konnte nicht erstellt werden";
}
}
else{
echo "Befehl nicht gefunden";
}
?>
<form action='eingabe.php' method='post'>
<table border="0" cellspacing="5" cellpadding="0">
<tr>
<td rowspan="8"> </td>
<td colspan="2"><h1>Theke 1 </h1></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td>Kategorie:</td>
<td><select class='input' name='kategorie'>
<option selected>-------</option>
<option>Grill</option>
<option>WOK</option>
<option>Fisch</option>
<option>Fitness</option>
</select></td>
</tr>
<tr>
<td valign="top">Gericht:</td>
<td><input class='textarea' name='gericht'></td>
</tr>
<tr>
<td>Info:</td>
<td><input class='input' type='text' name='info'></td>
</tr>
<tr>
<td>Preis:</td>
<td><input class='preis' type='text' name='preis'></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><input type='hidden' name='cmd1' value='send'></td>
<td><input name='senden' type='submit' class='button' value='Absenden'></td>
</tr>
</table>
</form>
</body>
</html>
Hallo
Ich habe einen IIS 6.0 mit PHP, MySQL und phpMyAdmin aufgesetzt. Läuft soweit alles wunderbar, ich kann in die DB auch Daten einpflegen.
Probleme habe ich nun allerdings, wenn ich versuche per POST-Befehl eines Formulares über PHP Daten an die DB zu versenden. Scheinbar wird der POST-Befehl nicht erkannt,
> <?
# Du verlässt Dich auf short_open_tags = on
# Das ist keine gute Idee. Verwende lieber <?php
> if (isset($cmd1) && $cmd1 == "send"){
# Du verläßt Dich auf [link:http://www.php.net/manual/de/security.globals.php@title=register_globals] = on
# Das ist seit ungefähr fünf Jahren standardmäßig nicht mehr so.
# Ja, das ist gut.
Schreibe Deine Skripte entsprechend um, so dass sie mit register_globals = off zurecht kommen.
Freundliche Grüße
Vinzenz
Ich bin so bescheuert, hab ich total vergessen mit register_globals, hatte ich ja schonmal.
Danke dir jedenfalls