von slackerbitch |
Wo kann ich in der PHP-Konfiguration denn angeben, daß er die globalen Umgebungsvariablen erkennt ?
Danke
Gruss Frank
|
register_globals in der php.ini anschalten.
oder besser: ab php 4.1 superglobals nutzen.
$_POST["varname"]
-> http://www.php.net nachschauen. ;)
---
sig |
von dee123 |
Wunderbar !! )
Vielen Dank für die schnelle Hilfe!
Vielleicht noch eine Frage an diese Stelle:
Wo kann ich in der PHP-Konfiguration denn angeben, daß er die globalen Umgebungsvariablen erkennt ?
Danke
Gruss Frank |
von GKnabe |
Also ist empty($name) falsch, aber es erschein trotzdem nix in der Datenbank? Wie sieht denn empty() aus?
Verusche mal am Anfang des Script
$name = HTTP_POST_VARS["name"];
Wenn php nicht so konfiguriert ist, daß alle POST-Variablen automatisch in den globalen Namensraum übernommen werden, ist $name nämlich nicht gesetzt. Das würde auch erklären, warum das bei dir zuhause funktioniert.
MfG
GKnabe |
von dee123 |
Hallo zusammen,
wir basteln gerade an einem firmeninternen Intranet herum.
Um das ganze für die Mitarbeiter interessant zu machen, haben wir also den Apache-Server, PHP und MySQL auf dem Server installiert und alles funzt optimal.
Jetzt kommt´s:
Ich benutze (aus Gewohnheit) 2 Skripts für
1.Eingabe der Formulardaten ( beispielsweise Name, Kommentar etc. in einem Gästebuch) und
2. senden der Formulardaten an die SQL-Datenbank.
Das Formularskript "test.php"sieht folgendermaßen aus:
...
<FORM ACTION="send_test.php" METHOD="post">
<table>
<TR><TD>Name</TD><TD><INPUT TYPE="Text" NAME="name" VALUE="" SIZE="40" MAXLENGTH=""></TD></TR>
....
</TABLE>
<br>
<INPUT TYPE="Submit" NAME="Senden" VALUE="Senden">
...
Das Skript "send_test.php" welches die Variablen aus "test.php" empfängt und diese dann an die Datenbank überträgt, ist folgendermaßen:
...
if (empty($name))
{
print "<center><big>Bitte füllen Sie das Formular vollständig aus !</big><br>";
print "Sie werden in ca. 5 sek. wieder zurück geleitet.";
print "<meta http-equiv='refresh' content='5; URL=test.php'>";
exit;
}
$date=date("d.M.Y H:i");
$host = "localhost";
$username = "";
$userpassword = "";
$database ="datenbankname";
$datatab ="datenbanktabelle";
$db = @mysql_connect($host, $username, $userpassword);
if (!$db) { die("Keine Verbindung möglich!n"); }
mysql_select_db($database);
$sql="INSERT INTO $datatab (name, date) VALUES ('$name', '$date')";
mysql_query($sql, $db);
print("Ihre Eingaben werden weitergeleitet . . .") ;
?>
...
Die in "send_test.php" definierte Varialbe $date wird richtig in die Datenbank eingespeist.
die Varialbe "name" aus "test.php" (hier dann natürlich $name) fehlt in der Datenbank.

Das merkwürdige dabei ist, das es bei mir zuhause in dieser Art läuft !!!
Wer kann helfen und wer hat überhaupt mein Problem verstanden ? 
Bis dann
Gruss Frank |
|