2014-02-26 38 views
0

那么,我有2个PHP文件。第一个用户form.php有一个html表单来收集用户输入并通过POST方法将这些数据发送到其他php文件mysql_insert.phpPOST方法仅用于发送用户定义的输入

问题是,随着6个用户输入,我还必须传输一个不是用户输入的变量数(如下面的代码所述)。

我累了以下方法:

用户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来送超值它随着输入变量(纠正我,如果这里有什么问题,我很新手到PHP)。

而且在接收端我用下面的代码:

mysql_insert.php --->

<?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()并直接在该文件中获取计数值,但我正在考虑以这种方式作为我的最后一个选项。 那么请帮助,如果非用户输入变量可以通过表单发布?

非常感谢!

+2

你期望从这里,我认为你是在愚弄所有人 – 2014-02-26 10:10:24

+0

嗯,我得到了我的预期...... :) ...不管怎么说,还是要谢谢你!!! –

回答

1
<p name="count" value="$count"></p> 

这不是一个input元素,所以你不能直接发布。然而,你可以使用jQuery来获取值和POST使用js。

如果您想按照现在的方式进行操作,您需要在输入类型文本中包含值或隐藏。

+1

所以先生downvoter具体downvote的原因! –

+0

提问者只做下投票:( – 2014-02-27 12:47:28

1

您可以使用隐藏的元素,如以下

使用

<input type="hidden" value="<?php echo $count; ?>" name="count"/> 

,而不是

<p name="count" value="$count"></p> 
+0

谢谢。我已编辑答案mr.downvoter.plz检查它 – krishna

2
你必须

把你$count变量在hidden field在你的形式。该数据这是在形式输入只能张贴在表格提交..

<input type="hidden" name="count" value="<?php echo $count ?>">

0

而不是

<p name="count" value="$count"></p> 

使用

<input type="hidden" name="count" value="<?php echo $count;?>"> 
1

改变这一行:<p name="count" value="$count"></p> 到:<input type="hidden" name="count" value="<?=$count?>" />

0

这条线将不起作用:<p name="count" value="$count"></p>

可以使用<input type="hidden" name="count" value="<?php echo $count; ?>" />

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