为什么我的php文件没有在我的2层应用程序中执行?
HTML CODE
<form autocomplete='on' name='form1' method='get'action='new_Assignment1.php'>
<table>
<tr>
<td>Username:</td><td><input type='textbox' name='usrname' maxlength='10'></td></tr>
<tr><td>First name:</td><td><input type='textbox' name='fname'></td></tr>
<tr><td>Last name:</td><td><input type='textbox' name='lname'></td></tr>
<tr><td>Age:</td><td><input type='number' name='age' min='18' max='65' style='float:left;'></td></tr>
<tr><td>Empno:</td><td><input type='number' name='eno' min='10' step='2'style='float:left;'></td></tr>
<tr><td>Submit a file:</td><td><input type='file' formenctype='multipart/formdata' name='upfile'></td></tr>
<tr><td><input type='checkbox' name='terms' value='Tnc' checked>Terms & Conditions</td></tr>
<tr><td>Google Search:</td><td><input type='search' name='google' style='float:left;'></td></tr>
<tr><td><input type='submit'/></td></tr>
<tr><td><input type='submit' value='Click me' disabled /></td></tr>
</table>
</form>
PHP代码
<?php
$var_1=$_REQUEST['usrname'];
$var_2=$_REQUEST['fname'];
$var_3=$_REQUEST['lname'];
$var_4=$_REQUEST['age'];
$var_5=$_REQUEST['eno'];
$var_6=$_REQUEST['file'];
$var_7=$_REQUEST['google'];
echo $var_1;
echo $var_2;
echo $var_3;
echo $var_4;
echo $var_5;
echo $var_6;
echo "You have searched"echo $var_7"."
if($var_7='Tnc')
{
"Agreed to terms and conditions.";
}
else
{
"Not agreed to terms and conditions.";
}
?>
我不明白为什么我的php文件没有被调用?
答案 0 :(得分:1)
这里有很多不妥之处。
您输入的名称属性为name='upfile'
,但使用的$_REQUEST['file']
不匹配。
但是,您必须使用POST方法才能处理文件。
文件无法使用GET方法处理。
然后此formenctype='multipart/formdata'
属于表单,而不是输入,只有enctype='multipart/formdata'
。但是有一个拼写错误,应该是enctype="multipart/form-data"
连字符。
即:
<form enctype="multipart/form-data" autocomplete='on' name='form1' method='post' action='new_Assignment1.php'>
然后,您需要将所有$_REQUEST
更改为$_POST
。
但是对于该文件,它需要读作$_FILES
并使用:
$var_6=$_FILES['upfile']['name'];
参考:
旁注:没有迹象表明您希望如何处理该文件。
如果打算将其保存到文件夹,则需要使用move_uploaded_file()
并确保要上传的文件夹具有适当的权限。
本手册包含有关如何处理上传文件的示例:
另外,您没有<input type='checkbox' name='terms' value='Tnc' checked>
的数组,所以不确定如何处理它。
将error reporting添加到文件的顶部,这有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// Then the rest of your code
旁注:只应在暂存时进行显示错误,而不是生产。
正如评论(和答案)中所述,该评论似乎已被删除并转录为答案。
在* NIX系统上,FILE.xxx
或File.xxx
与file.xxx
不同,因为它们区分大小写,与Windows平台不同。
或者您通过网络浏览器访问PHP c:///folder/file.xxx
而不是http://localhost/folder/file.xxx
。
如果您没有安装Web服务器/ PHP,那么您将无法处理PHP指令,如果是这样的话。
修改强>
哦,你在关闭分号中缺席:
echo "You have searched"echo $var_7"."
仅此一项就会导致解析语法错误。
然后if($var_7='Tnc')
分配而不是比较if($var_7 =='Tnc')
一个=
是一项任务。两个==
是比较,三个===
是“相同的”。
请参阅Stack上的以下内容:
答案 1 :(得分:1)
你的php代码是否包含在new_Assignment1.php中,如果不是你的问题所在。 Assignment1.php中也不是资本A.链接在实时服务器上是区分大小写的esp。
您的错误是&#34;找不到此网页&#34;这意味着您要发布到不存在的页面。
答案 2 :(得分:0)
HTML CODE:
<form name='form1' method='POST'action='viewuser.php' enctype="multipart/form-data">
<table>
<tr>
<td>Username:</td><td><input type='textbox' name='usrname' maxlength='10'></td></tr>
<tr><td>First name:</td><td><input type='textbox' name='fname'></td></tr>
<tr><td>Last name:</td><td><input type='textbox' name='lname'></td></tr>
<tr><td>Age:</td><td><input type='number' name='age' min='18' max='65' style='float:left;'></td></tr>
<tr><td>Empno:</td><td><input type='number' name='eno' min='10' step='2'style='float:left;'></td></tr>
<tr><td>Submit a file:</td><td><input type="file" name="file"/></td></tr>
<tr><td><input type='checkbox' name='terms' value='Tnc' checked>Terms & Conditions</td></tr>
<tr><td>Google Search:</td><td><input type='search' name='google' style='float:left;'></td></tr>
<tr><td><input type='submit' value='submit'/></td></tr>
<tr><td><input type='submit' value='Click me' disabled /></td></tr>
</table>
</form>
PHP代码
<?php
$var_1=$_REQUEST['usrname'];
$var_2=$_REQUEST['fname'];
$var_3=$_REQUEST['lname'];
$var_4=$_REQUEST['age'];
$var_5=$_REQUEST['eno'];
$var_6=$_FILES['file']['name'];
$var_7=$_REQUEST['google'];
if(isset($_REQUEST['usrname']) && isset($_REQUEST['fname']) && isset($_REQUEST['lname']) && isset($_REQUEST['age']) && isset($_REQUEST['eno']) && isset($_REQUEST['google']))
{
echo "User name :".$var_1;
echo "<br>Name :".$var_2.''.$var_3;
echo "<br>age :".$var_4;
echo "<br>Emp No :".$var_5;
echo "<br>File Name :".$var_6;
echo "<br> You have searched".$var_7;
if($var_7='Tnc')
{
"Agreed to terms and conditions.";
}
else
{
"Not agreed to terms and conditions.";
}
}
else
{
echo "Please Check you are missing some parameter";
}
?>