好吧,我有2个php文件。第一个 user form.php 有一个html表单来收集用户输入并通过POST方法将这些数据发送到其他php文件 mysql_insert.php 。
问题是,除了6个用户输入外,我还需要再传输一个不是用户输入的变量计数(如下面的代码所述)。
我厌倦了以下方法:
user form.php --->
<?php
$count=file_get_contents("cnt.txt","r");
$count=$count+1;
echo"Welcome!<br/>You are student number $count.<br/>";
?>
<html>
<p>Fill in the following information to save your marksheet to the database:</p><br/>
<form action="mysql_insert.php" method="POST">
Name:<input type="text" name="name" value=""/><br/><br/>
Marks(out of 100)<br/>
Subject 1:<input type="text" name="sub1" value=""/><br/>
Subject 2:<input type="text" name="sub2" value=""/><br/>
Subject 3:<input type="text" name="sub3" value=""/><br/>
Subject 4:<input type="text" name="sub4" value=""/><br/>
Subject 5:<input type="text" name="sub5" value=""/><br/><br/>
<p name="count" value="$count"></p>
<input type="submit" value="Submit"/>
</form>
</html>
我只是将一个空的P元素命名为count并将其值设置为$ count以将其与输入变量一起发送(如果这里有错误,请纠正我,我是php的新手)。
在接收端,我使用了以下代码:
mysql_insert.php ---&GT;
<?php
require("connect.php");
$name=$_POST['name'];
$s1=$_POST['sub1'];
$s2=$_POST['sub2'];
$s3=$_POST['sub3'];
$s4=$_POST['sub4'];
$s5=$_POST['sub5'];
$count=$_POST['count'];
.
.
.
?>
现在在$count=$_POST['count'];
行上,浏览器抛出错误:
注意:未定义的索引:在第10行的C:\ xampp \ htdocs \ Vikas-117-PHP \ level 3 \ mysql_insert.php中计数
似乎计数未发布到此文件中。 请指导我错在哪里。
P.S。:我当然可以使用mysql_insert.php中的file_get_contents()并直接在此文件中获取计数值,但我正在考虑这种方式作为我的最后一个选项。 如果非用户输入变量可以通过表格???
发布,请提供帮助万分感谢!!!
答案 0 :(得分:2)
您必须将$count
变量放在表单中的hidden field
中。表单输入中的数据只会以表单提交方式发布。
<input type="hidden" name="count" value="<?php echo $count ?>">
答案 1 :(得分:2)
<p name="count" value="$count"></p>
您不能直接使用任何html标记来发布数据仅使用html表单字段来发布数据。 使用html标签值后你需要使用js / ajax / php
<p name="count"><?php echo $count;?></p>
或更好的使用
<textarea name="count"><?php echo $count;?></textarea>
或未显示使用隐藏字段的数据
并通过名称获取此p值或使用类或id来使用ajax获取和发布数据
答案 2 :(得分:1)
您可以使用隐藏的元素,如下所示
使用
<input type="hidden" value="<?php echo $count; ?>" name="count"/>
而不是
<p name="count" value="$count"></p>
答案 3 :(得分:1)
<p name="count" value="$count"></p>
这不是输入元素,因此您无法直接发布。但是,您可以使用jquery来获取值并使用js进行POST。
如果您想要按现在的方式进行,则需要在输入类型文本中包含值或隐藏它。
答案 4 :(得分:1)
更改此行:<p name="count" value="$count"></p>
到:<input type="hidden" name="count" value="<?=$count?>" />
答案 5 :(得分:0)
而不是
<p name="count" value="$count"></p>
使用
<input type="hidden" name="count" value="<?php echo $count;?>">
答案 6 :(得分:0)
此行不起作用:<p name="count" value="$count"></p>
您可以使用<input type="hidden" name="count" value="<?php echo $count; ?>" />