如何修复此错误我的代码工作正常,但我不知道为什么它显示错误我的图片上传正常。
请帮我解决这个问题 谢谢 我有这个错误
注意:未定义的索引:第121行的I:\ xampp \ htdocs \ ccs \ ad.php中的照片
注意:未定义的索引:第125行的I:\ xampp \ htdocs \ ccs \ ad.php中的照片
注意:未定义的索引:第127行的I:\ xampp \ htdocs \ ccs \ ad.php中的照片
和
第121行 是$target = $target . basename( $_FILES['photo']['name']);
第125行 是
$photo=($_FILES['photo']['name']);
第126行 是
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
,此处为完整代码
<?php
/*
NEW.PHP
Allows user to create a new entry in the database
*/
// creates the new record form
// since this form is used multiple times in this file, I have made it a function that is easily reusable
function renderForm($sname, $fname, $error)
{
?>
<?php
// if there are any errors, display them
if ($error != '')
{
echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
}
?>
<form action="" method="post" enctype="multipart/form-data" class="registration_form">
<fieldset>
<legend>Admission </legend>
<p>Create a Admission Voucher <span class="style4" style="background:#EAEAEA none repeat scroll 0 0;line-height:1;margin-left:410px;;padding:9px 9px;">Please Fill the All Info </span> </p>
<div class="elements">
<label for="sname">Student Name :</label>
<input type="text" id="sname" name="sname" size="70" />
</div>
<div class="elements">
<label for="fname">Father Name :</label>
<input type="text" id="fname" name="fname" size="25" />
</div>
<div class="elements">
<label for="photo">Photo Attachment :</label>
<input type="hidden" name="size" value="350000">
<input type="file" name="photo" size="25">
</div>
<div class="submit">
<button name="submit" type="submit" class="pure-button pure-button-primary" value="Submit">Submit</button>
</div>
</fieldset>
</form>
<?php
}
//This is the directory where images will be saved
$target = "images/";
$target = $target . basename( $_FILES['photo']['name']);
//This gets all the other information from the form
$photo=($_FILES['photo']['name']);
//Writes the photo to the server
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
{
//Tells you if its all ok
echo "<center>Photo ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory</center>";
}
// connect to the database
include('connect-db.php');
// check if the form has been submitted. If it has, start to process the form and save it to the database
if (isset($_POST['submit']))
{
// get form data, making sure it is valid
$sname = mysql_real_escape_string(htmlspecialchars($_POST['sname']));
$fname = mysql_real_escape_string(htmlspecialchars($_POST['fname']));
$photo = mysql_real_escape_string(htmlspecialchars($_FILES['photo']['name']));
// check to make sure both fields are entered
if ($sname == '' )
{
// generate error message
$error = 'ERROR: Please fill in all required fields!';
// if either field is blank, display the form again
renderForm($sname, $fname,$error);
}
else
{
// save the data to the database
mysql_query("INSERT admission SET sname='$sname', fname='$fname', photo='$photo'")
or die(mysql_error());
echo "<center>Admission</center>";
echo "<center>Successful!</center>";
// once saved, redirect back to the view page
}
}
else
// if the form hasn't been submitted, display the form
{
renderForm('','','','');
}
?>
答案 0 :(得分:4)
这个评论太长了,因为我试着在那里解释它,但觉得如果在答案中代表它会更好。
Nota:我还将$_FILES['uploadedfile']
更改为$_FILES['photo']
,因为这会产生错误。
将所有内容从$target = "images/";
开始移至echo "<center>Photo ". basename...
,然后置于if (isset($_POST['submit'])){
下,然后将该条件语句修改为if (isset($_POST['submit']) && !empty($_FILES['photo'])){
,您应该好好去。
这是重写:
<?php
/*
NEW.PHP
Allows user to create a new entry in the database
*/
// creates the new record form
// since this form is used multiple times in this file, I have made it a function that is easily reusable
function renderForm($sname, $fname, $error)
{
?>
<?php
// if there are any errors, display them
if ($error != '')
{
echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
}
?>
<form action="" method="post" enctype="multipart/form-data" class="registration_form">
<fieldset>
<legend>Admission </legend>
<p>Create a Admission Voucher <span class="style4" style="background:#EAEAEA none repeat scroll 0 0;line-height:1;margin-left:410px;;padding:9px 9px;">Please Fill the All Info </span> </p>
<div class="elements">
<label for="sname">Student Name :</label>
<input type="text" id="sname" name="sname" size="70" />
</div>
<div class="elements">
<label for="fname">Father Name :</label>
<input type="text" id="fname" name="fname" size="25" />
</div>
<div class="elements">
<label for="photo">Photo Attachment :</label>
<input type="hidden" name="size" value="350000">
<input type="file" name="photo" size="25">
</div>
<div class="submit">
<button name="submit" type="submit" class="pure-button pure-button-primary" value="Submit">Submit</button>
</div>
</fieldset>
</form>
<?php
}
// connect to the database
include('connect-db.php');
// check if the form has been submitted. If it has, start to process the form and save it to the database
if (isset($_POST['submit']) && !empty($_FILES['photo']))
{
//This is the directory where images will be saved
$target = "images/";
$target = $target . basename( $_FILES['photo']['name']);
//This gets all the other information from the form
$photo=($_FILES['photo']['name']);
//Writes the photo to the server
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
{
//Tells you if its all ok
echo "<center>Photo ". basename( $_FILES['photo']['name']). " has been uploaded, and your information has been added to the directory</center>";
}
// get form data, making sure it is valid
$sname = mysql_real_escape_string(htmlspecialchars($_POST['sname']));
$fname = mysql_real_escape_string(htmlspecialchars($_POST['fname']));
$photo = mysql_real_escape_string(htmlspecialchars($_FILES['photo']['name']));
// check to make sure both fields are entered
if ($sname == '' )
{
// generate error message
$error = 'ERROR: Please fill in all required fields!';
// if either field is blank, display the form again
renderForm($sname, $fname,$error);
}
else
{
// save the data to the database
mysql_query("INSERT admission SET sname='$sname', fname='$fname', photo='$photo'")
or die(mysql_error());
echo "<center>Admission</center>";
echo "<center>Successful!</center>";
// once saved, redirect back to the view page
}
}
else
// if the form hasn't been submitted, display the form
{
renderForm('','','','');
}
?>
答案 1 :(得分:1)
</form>
后,更改您的代码
<?php
}
// check if the form has been submitted. If it has, start to process the form and save it to the database
if (isset($_POST['submit']))
{
//This is the directory where images will be saved
$target = "images/";
$target = $target . basename( $_FILES['photo']['name']);
//This gets all the other information from the form
$photo=($_FILES['photo']['name']);
//Writes the photo to the server
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
{
//Tells you if its all ok
echo "<center>Photo ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory</center>";
}
// connect to the database
include('connect-db.php');
// get form data, making sure it is valid
$sname = mysql_real_escape_string(htmlspecialchars($_POST['sname']));
$fname = mysql_real_escape_string(htmlspecialchars($_POST['fname']));
$photo = mysql_real_escape_string(htmlspecialchars($_FILES['photo']['name']));
// check to make sure both fields are entered
if ($sname == '' )
{
// generate error message
$error = 'ERROR: Please fill in all required fields!';
// if either field is blank, display the form again
renderForm($sname, $fname,$error);
}
else
{
// save the data to the database
mysql_query("INSERT admission SET sname='$sname', fname='$fname', photo='$photo'")
or die(mysql_error());
echo "<center>Admission</center>";
echo "<center>Successful!</center>";
// once saved, redirect back to the view page
}
}
else
// if the form hasn't been submitted, display the form
{
renderForm('','','','');
}
?>