Hoi mensen,
ik probeer binaire data te schuiven in een MySQL database.
De databases staan klaar, doe het allemaal netjes, maar het upload script werkt niet naar behoren.
Ik ben met een tutorial aan de slag gegaan, en volgens de tutorial ziet het upload scriptje (add.php) er zo uit:
---------------
<?php
if ($action == "upload") {
// ok, let's get the uploaded data and insert it into the db now
include "open_db.inc";
if (isset($binFile) && $binFile != "none") {
$data = addslashes(fread(fopen($binFile, "r"), filesize($binFile)));
$strDescription = addslashes(nl2br($txtDescription));
$sql = "INSERT INTO tbl_Files ";
$sql .= "(description, bin_data, filename, filesize, filetype) ";
$sql .= "VALUES ('$strDescription', '$data', ";
$sql .= "'$binFile_name', '$binFile_size', '$binFile_type')";
$result = mysql_query($sql, $db);
mysql_free_result($result); // it's always nice to clean up!
echo "Thank you. The new file was successfully added to our database.<br><br>";
echo "<a href='main.php'>Continue</a>";
}
mysql_close();
} else {
?>
<HTML>
<BODY>
<FORM METHOD="post" ACTION="add.php" ENCTYPE="multipart/form-data">
<INPUT TYPE="hidden" NAME="MAX_FILE_SIZE" VALUE="1000000">
<INPUT TYPE="hidden" NAME="action" VALUE="upload">
<TABLE BORDER="1">
<TR>
<TD>Description: </TD>
<TD><TEXTAREA NAME="txtDescription" ROWS="10" COLS="50"></TEXTAREA></TD>
</TR>
<TR>
<TD>File: </TD>
<TD><INPUT TYPE="file" NAME="binFile"></TD>
</TR>
<TR>
<TD COLSPAN="2"><INPUT TYPE="submit" VALUE="Upload"></TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
<?php
}
?>
------------------
Maar zoals ik al zei, ik krijg Notice: Undefined variable: action in d:\program files\apache group\apache\htdocs\add.php on line 2 als ik het script uitvoer.
Nu weet ik dat de PHP groep Register_Globals uit heeft gezet, en dat het hier misschien aan ligt. Ik heb dus weer aan gezet ("register_globals On" in php.ini) , Apache herstart, maar ik krijg nog steeds de foutmelding.
Hoe krijg ik "action" wel "defined"?
Ik draai Apache 1.3 (2.0 geen optie), en van PHP en MySQL de laatste versies.
ik probeer binaire data te schuiven in een MySQL database.
De databases staan klaar, doe het allemaal netjes, maar het upload script werkt niet naar behoren.
Ik ben met een tutorial aan de slag gegaan, en volgens de tutorial ziet het upload scriptje (add.php) er zo uit:
---------------
<?php
if ($action == "upload") {
// ok, let's get the uploaded data and insert it into the db now
include "open_db.inc";
if (isset($binFile) && $binFile != "none") {
$data = addslashes(fread(fopen($binFile, "r"), filesize($binFile)));
$strDescription = addslashes(nl2br($txtDescription));
$sql = "INSERT INTO tbl_Files ";
$sql .= "(description, bin_data, filename, filesize, filetype) ";
$sql .= "VALUES ('$strDescription', '$data', ";
$sql .= "'$binFile_name', '$binFile_size', '$binFile_type')";
$result = mysql_query($sql, $db);
mysql_free_result($result); // it's always nice to clean up!
echo "Thank you. The new file was successfully added to our database.<br><br>";
echo "<a href='main.php'>Continue</a>";
}
mysql_close();
} else {
?>
<HTML>
<BODY>
<FORM METHOD="post" ACTION="add.php" ENCTYPE="multipart/form-data">
<INPUT TYPE="hidden" NAME="MAX_FILE_SIZE" VALUE="1000000">
<INPUT TYPE="hidden" NAME="action" VALUE="upload">
<TABLE BORDER="1">
<TR>
<TD>Description: </TD>
<TD><TEXTAREA NAME="txtDescription" ROWS="10" COLS="50"></TEXTAREA></TD>
</TR>
<TR>
<TD>File: </TD>
<TD><INPUT TYPE="file" NAME="binFile"></TD>
</TR>
<TR>
<TD COLSPAN="2"><INPUT TYPE="submit" VALUE="Upload"></TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
<?php
}
?>
------------------
Maar zoals ik al zei, ik krijg Notice: Undefined variable: action in d:\program files\apache group\apache\htdocs\add.php on line 2 als ik het script uitvoer.
Nu weet ik dat de PHP groep Register_Globals uit heeft gezet, en dat het hier misschien aan ligt. Ik heb dus weer aan gezet ("register_globals On" in php.ini) , Apache herstart, maar ik krijg nog steeds de foutmelding.
Hoe krijg ik "action" wel "defined"?
Ik draai Apache 1.3 (2.0 geen optie), en van PHP en MySQL de laatste versies.
[ Voor 18% gewijzigd door HuggyB op 26-10-2003 03:30 ]