Php 一页上有多张表格
我在一页上有多个表单的问题。在页面索引中,我包括4张表格Php 一页上有多张表格,php,html,Php,Html,我在一页上有多个表单的问题。在页面索引中,我包括4张表格 include('./poll_1a.php'); include('./poll_2a.php'); include('./poll_3a.php'); include('./poll_4a.php'); 每个投票页面的表单代码都是相同的。我为每个脚本都包含一些独特的标记($poll_代码),但效果是当我使用一种形式时——发送变量在其他形式中接收。但我想单独填写每一份表格 变量$poll_code对于每个脚本都是唯一的->1表示pol
include('./poll_1a.php');
include('./poll_2a.php');
include('./poll_3a.php');
include('./poll_4a.php');
每个投票页面的表单代码都是相同的。我为每个脚本都包含一些独特的标记($poll_代码),但效果是当我使用一种形式时——发送变量在其他形式中接收。但我想单独填写每一份表格
变量$poll_code对于每个脚本都是唯一的->1表示poll_1,2表示poll_2等。
$cookie\u name的情况也是如此
$cookie_name = "poll_cookie_".$poll_code;
正如我所看到的,饼干有不同的名字
$poll_code = "1"; // or 2, 3, 4
?>
<p>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" name="<?php echo $poll_code; ?>">
<input type="hidden" name="poll_cookie_<?php echo $poll_code; ?>" value="<?php echo $poll_code; ?>">
<table>
<?php
//print possible answers
for($i=0;$i<count($answers);$i++){
?><tr><td style="\text-allign: left;\"><input type="radio" name="vote_<?php echo $poll_code; ?>" value="<?php echo $i; ?>"> <?php echo $answers[$i]; ?></td></tr><?php
}
echo "</table>";
echo "<br>";
if ($_COOKIE["$cookie_name"] == $poll_code ) {
echo "<br> nie można głosować ponownie ...";
} else {
?>
<p><input type="submit" name="submit_<?php echo $poll_code; ?>" value="głosuj !" onClick="this.disabled = 'true';"></p>
<?php
}
?>
</form>
</p>
当然,$文件也有唯一的声明(在脚本顶部,在$poll_代码声明下)
我认为问题可能是
在循环之外,因此可能它总是使用分配给它的相同值,也可能将它放在循环内部对于“表单在一页上单独工作”意味着什么?此表单是民意测验-我希望用户对每个民意测验单独投票,而不是一次投票:)我仍然完全不知道您想问什么。在每次包含之前,您不应该将$poll\u code
设置为唯一值吗?另外你是说你有4张表格,但是不管你在每一张表格中选择了什么,你都会得到相同的数据?我们也需要查看表单脚本(poll_1a.php等)的内容,你能告诉我你在考虑脚本中的一点吗?这个变量(我认为)对于脚本的每个副本都是独立的。这是有效的,因为cookies中有唯一的名称和唯一的变量。你能添加PHP生成的返回html吗?
$votes = file($file);
$total = 0;
$totale = 0;
$poll_cookie = 0;
if (isset($_POST["vote_$poll_code"]) && isset($_POST["poll_cookie_$poll_code"])) {
$vote = $_POST["vote_$poll_code"];
$poll_cookie = $_POST["poll_cookie_$poll_code"];
}
//submit vote
if(isset($vote)){
$votes[$vote] = $votes[$vote]+1;
}
//write votes
$handle = fopen($file,"w");
foreach($votes as $v){
$total += $v;
fputs($handle,chop($v)."\n");
}
fclose($handle);
$file = "poll_".$poll_code.".txt";