为什么我的php文件没有在我的2层应用程序中执行?

时间:2016-02-18 17:23:10

标签: php html

为什么我的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.";
}
?>

HTML文件的输出 'enter image description here'

在提交HTML文件时输出PHP文件 'enter image description here'

我不明白为什么我的php文件没有被调用?

3 个答案:

答案 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.xxxFile.xxxfile.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";

}
?>

输出 enter image description here