Please can anybody help,
I have the following script that works on php 4.4.7 but not with 5.2.3.
it gives this error Notice: Undefined index: userfile
first part is add.php
<?
$uploaddir = "/uploads";
$fields = 1;
$acceptfilter = 1;
$acceptabletypes = array("image/jpeg", "image/pjpeg", "image/gif", "image/giff");
$limitsize = 0;
$maxsize = 200;
$overwriting = 0;
$scandir = 0;
$makelog = 0;
$logfile = "uploadlog.txt";
$timeoffset = +0;
include("uploader.php");
?>
and the 2nd part is uploader.php
<?
function get_files($dirstr)
{
$scanfiles = array();
$fh = opendir($dirstr);
while (false !== ($filename = readdir($fh)))
{
if (is_file("$dirstr/$filename")) {
array_push($scanfiles, $filename); }
}
closedir($fh);
sort($scanfiles);
return $scanfiles;
}
$count = count($_FILES['userfile']['name']);
if ($count > 0) {
$i=0;
$f=0;
while ($i < $count) {
$kbsize = (round($_FILES['userfile']['size'][$i]/1024));
$date = date("j M Y g:ia", time()+($timeoffset*3600));
$userip = $_SERVER['REMOTE_ADDR'];
if ($limitsize == 1) {
if ($_FILES['userfile']['size'][$i] > (1024*$maxsize) ) {
$toobig[$i] = "{$_FILES['userfile']['name'][$i]} is too large! the maximum file size is $maxsize kb.";
} }
if ($acceptfilter == 1) {
if (!in_array($_FILES['userfile']['type'][$i], $acceptabletypes)) {
$rejectstring = "{$_FILES['userfile']['name'][$i]} is not of the type ";
foreach ($acceptabletypes as $acceptabletype) {
$rejectstring .= "$acceptabletype or "; }
$rejectstring = substr($rejectstring, 0, -4);
$notacceptable[$i] = "$rejectstring.";
} }
if ($overwriting !== 1) {
if(file_exists("$uploaddir/{$_FILES['userfile']['name'][$i]}")) {
$alreadyexists[$i] = "a file of the name {$_FILES['userfile']['name'][$i]} already exists! overwriting is not permitted.";
} }
if (!isset($toobig[$i]) && !isset($notacceptable[$i]) && !isset($alreadyexists[$i])) {
copy($_FILES['userfile']['tmp_name'][$i], "$uploaddir/{$_FILES['userfile']['name'][$i]}");
echo "{$_FILES['userfile']['name'][$i]} uploaded successfully!<br>";
$f++;
$content .= "/{$_FILES['userfile']['name'][$i]}";
}
elseif ($_FILES['userfile']['size'][$i] !== 0) {
echo "$toobig[$i] $notacceptable[$i] $alreadyexists[$i]<br>";
$content .= "$date $userip fails to upload $uploaddir/{$_FILES['userfile']['name'][$i]} ($kbsize kb) - $toobig[$i] $notacceptable[$i] $alreadyexists[$i]\n";
}
$i++;
}
echo "uploaded $f file(s)";
/////
Connect to database
////
$Ingredients = nl2br($Ingredients);
$Method = nl2br($Method);
$Notes = nl2br($Notes);
if ($makelog == 0) {
$query = "INSERT INTO $table)
VALUES('$Title')";
$result = mysql_query($query)
or die ("Query failed: " . mysql_error() . " Actual query: " . $query);
echo "<p>$Title Added,<br>"; }
}
?>
<form action="<?= $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']; ?>" method="post" name="Form1" enctype="multipart/form-data" id="Form1" onsubmit="return Form1_Validator(this)" language="JavaScript">
<table width="700" border="0" align="left" cellpadding="0" cellspacing="5">
<tr>
<td width="92" align="center" valign="middle"><div align="left">Title</div></td>
<td colspan="6" align="center" valign="middle"><div align="left"><strong>
<input name="Title" type="text" id="Title" size="94" />
</strong></div></td>
</tr>
<tr>
<td align="center" valign="middle"><div align="left">Category</div></td>
<td width="115" align="left" valign="middle"><div align="left">
<select name="Category" size="1" id="Category">
<option value="" selected="selected">Please Select</option>
<option value="Breakfast">Breakfast</option>
<option value="Soup">Soup</option>
<option value="Main Meals">Main Meals</option>
<option value="Light Meals">Light Meals</option>
<option value="Sandwiches">Sandwiches</option>
<option value="Sides">Sides</option>
<option value="Vegetarian">Vegetarian</option>
<option value="Cakes">Cakes</option>
<option value="Desserts">Desserts</option>
</select>
</div></td>
<td width="73" align="left" valign="middle">Dificulty</td>
<td width="100" align="left" valign="middle"><select name="Dificulty" size="1" id="Dificulty">
<option value="Easy" selected="selected">Easy</option>
<option value="Moderate ">Moderate </option>
<option value="Hard">Hard</option>
</select></td>
<td width="107" align="center" valign="middle"><div align="left">Prep Time</div></td>
<td width="85" align="left" valign="middle"><div align="left"><strong>
<input name="Prep" type="text" id="Prep" size="10" />
</strong></div></td>
<td width="88" align="left" valign="middle"><select name="Time1" size="1" id="Time1">
<option value="Mins" selected="selected">Mins</option>
<option value="Hour">Hour</option>
<option value="Hours">Hours</option>
</select></td>
</tr>
<tr>
<td align="center" valign="middle"><div align="left">Serves</div></td>
<td align="left" valign="middle"><div align="left"><strong>
<input name="Serves" type="text" id="Serves" size="10" />
</strong></div></td>
<td align="left" valign="middle">Calories</td>
<td align="left" valign="middle"><strong>
<input name="Calories" type="text" id="Calories" size="10" />
</strong></td>
<td align="center" valign="middle"><div align="left">Cook Time</div></td>
<td align="left" valign="middle"><div align="left"><strong>
<input name="Cook" type="text" id="Cook" size="10" />
</strong></div></td>
<td align="left" valign="middle"><select name="Time2" size="1" id="Time2">
<option value="Mins" selected="selected">Mins</option>
<option value="Hour">Hour</option>
<option value="Hours">Hours</option>
</select></td>
</tr>
<tr>
<td align="center" valign="middle"><div align="left">Image</div></td>
<td colspan="3" align="left" valign="middle"><label>
<strong>
<?
for($d=0; $d < $fields; $d++) {
echo "<input name=\"userfile[]\" type=\"file\" size=\"25\"><br>"; }
?>
</strong> </label></td>
<td align="center" valign="middle"><div align="left">WW Points</div></td>
<td colspan="2" align="left" valign="middle"><div align="left"><strong>
<input name="WWPoints" type="text" id="WWPoints" size="10" />
</strong></div></td>
</tr>
<tr>
<td align="center" valign="middle"><div align="left"></div></td>
<td colspan="3" align="left" valign="middle"><div align="left"></div></td>
<td align="center" valign="top"><div align="left"></div></td>
<td colspan="2" align="left" valign="middle"><div align="left"></div></td>
</tr>
<tr>
<td align="center" valign="middle"><div align="left">Ingredients</div></td>
<td colspan="6" align="left" valign="middle"><div align="left"><strong>
<textarea name="Ingredients" cols="70" rows="4" id="Ingredients"></textarea>
</strong></div></td>
</tr>
<tr>
<td align="center" valign="middle"><div align="left"></div></td>
<td colspan="3" align="left" valign="middle"><div align="left"></div></td>
<td align="center" valign="top"><div align="left"></div></td>
<td colspan="2" align="left" valign="top"><div align="left"></div></td>
</tr>
<tr>
<td align="center" valign="middle"><div align="left">Method </div></td>
<td colspan="6" align="left" valign="middle"><div align="left"><strong>
<textarea name="Method" cols="70" rows="4" id="Method"></textarea>
</strong></div></td>
</tr>
<tr>
<td align="center" valign="middle"><div align="left"></div></td>
<td colspan="3" align="left" valign="middle"><div align="left"></div></td>
<td align="center" valign="top"><div align="left"></div></td>
<td colspan="2" align="left" valign="top"><div align="left"></div></td>
</tr>
<tr>
<td align="center" valign="middle"><div align="left">Notes</div></td>
<td colspan="6" align="left" valign="middle"><div align="left"><strong>
<textarea name="Notes" cols="70" rows="4" id="Notes"></textarea>
</strong></div></td>
</tr>
<tr>
<td align="center" valign="middle"><div align="left"></div></td>
<td colspan="3" align="left" valign="middle"><div align="left"></div></td>
<td align="center" valign="middle"><div align="left"></div></td>
<td colspan="2" align="center" valign="middle">
<div align="left">
<input type="submit" value="Send files">
<input name="Reset" type="reset" id="Reset" value="Reset">
</div></td>
</tr>
</table>
<br>
</form>
<?
echo "<ul>";
if ($makelog == 1) {
echo "<li><b>All upload attempts are logged.</b></li>"; }
if ($limitsize == 1) {
echo "<li><b>The maximum file size is $maxsize kb.</b></li>"; }
if ($overwriting == 1) {
echo "<li><b>Overwriting is permitted.</b></li>"; }
if ($scandir == 1) {
echo "<li><b>The current files in this directory are:</b></li><br>";
$files = get_files($uploaddir);
foreach ($files as $file) {
echo "$file<br>"; } }
echo "</ul>";
unset($count, $acceptabletypes, $handle, $content, $date, $kbsize);
?>
Please can anyone help its eating at my brain