2012-05-18 3 views
-1

У меня проблема с несколькими формами на одной странице. В индекс страницы я включаю 4 формыболее одной формы на одной странице

include('./poll_1a.php'); 
include('./poll_2a.php'); 
include('./poll_3a.php'); 
include('./poll_4a.php'); 

Код формы на каждой странице опроса тот же. Я включаю некоторые уникальные маркеры ($ poll_code) для каждого скрипта, но эффект заключается в том, что я использую одну форму - передаваемая переменная принимается в других. Но я хотел бы работать в каждой форме по отдельности.

переменная $ poll_code является уникальным для каждого сценария -> 1 для poll_1, 2 для poll_2 и т.д. Та же ситуация с $ cookie_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> &nbsp; &nbsp; &nbsp; 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> 

В: Как заставить эти формы работать индивидуально на одной странице?

// ------------------- EDIT

получающая часть сценария

$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); 

Конечно, $ файл есть уникальная декларация (наверху скрипта, в соответствии с объявлением $ poll_code).

$file = "poll_".$poll_code.".txt"; 
+3

Что это значит для «форм для работы индивидуально на одной странице "? –

+0

Эти формы - опросы - я хочу, чтобы пользователь голосовал за каждый опрос отдельно и не один раз во всем :) – Andrew

+1

Я до сих пор абсолютно не знаю, что вы пытаетесь спросить. –

ответ

0

Я думаю, что проблема может быть, что <?php echo $poll_code; ?> находится вне петли, так, может быть, это всегда использовать один и то же значение, присвоенное ему, возможно, поместить его в петле

+0

thnks, можете ли вы показать мне точку в сценарии, о котором вы думаете? Эта переменная является (как я думаю) индивидуальной для каждой копии сценария. Это работает, куки имеют уникальные имена и уникальные переменные внутри. – Andrew

+0

Не могли бы вы добавить возвращаемый html, который генерирует PHP? –

Смежные вопросы