Форма PHP, которая показывает дополнительный контент на основе ответа пользователя - PullRequest
0 голосов
/ 26 июля 2011

Я ищу способ иметь простую форму (да и без вопросов о переключателях), где, если пользователь отвечает «да» на все вопросы и ответы на запросы, скрытая ссылка на файл становится видимой.Я пока не умею создавать свой собственный PHP ... есть предложения?

<form name="myform" action="http://www.mydomain.com/myformhandler.php" method="POST">
<div align="center"><br>
<p>Question nubmer 1...</p><input type="radio" name="group1" value="Yes"> Yes<br>
<input type="radio" name="group1" value="No" checked> No<br>
<hr>
<p>Question nubmer 2...</p><input type="radio" name="group2" value="Yes"> Yes<br>
<input type="radio" name="group2" value="No"> No<br>
</div>
</form>

Это было бы видно, если бы ответ на оба вопроса был утвердительным ...

<div>
<a href="http://www.mydomain.com/somefile.pdf">grab the file here</a>
</div>

Ответы [ 5 ]

2 голосов
/ 26 июля 2011
<?php
if (isset($_POST['group1']) && isset($_POST['group2'])) {
    if ($_POST['group1']=='Yes' && $_POST['group2']=='Water') print '<div><a href="http://www.mydomain.com/somefile.pdf">grab the file here</a></div>';
}
?>
0 голосов
/ 26 июля 2011

Я опаздываю на эту вечеринку, но я подумал, что ОП хотел бы знать, что вы также можете сделать это в JavaScript, не возвращаясь на страницу:

$('form[name="myform"]').submit(function(event){
    event.preventDefault();
    if($('input[name="group1"]').val() == "Yes" && $('input[name="group2"]').val() == "Water"){
        $('#linkToPDF').show();
    }    
});

Вы можете увидеть это здесь:

http://jsfiddle.net/ajp4r/

0 голосов
/ 26 июля 2011

$ group1 = $ _POST ('group1);
$ group2 = $ _POST ('group2);

Затем просто используйте '==' (равно или установить как), чтобы проверить, совпадают ли они:

if ($ group1 == 'Yes' && $ group2 == 'Yes') напечатайте захватите файл здесь ';

Приведенный выше код распечатает файл. Причина в том, что значения операндов равны.

0 голосов
/ 26 июля 2011

Вас интересуют глобальные массивы GET / POST , в данном случае POST:

<form name="myform" action="" method="POST">
<div align="center"><br>
<p>Question nubmer 1...</p>
<input type="radio" name="group1" value="Yes"> Yes<br>
<input type="radio" name="group1" value="No" checked> No<br>
<hr>
<p>Question nubmer 2...</p>
<input type="radio" name="group2" value="Water"> Yes<br>
<input type="radio" name="group2" value="Beer"> No<br>
<input type="submit"/>
</div>
</form>
<?php 

if ($_POST['group1'] == 'Yes' && $_POST['group2'] == 'Water') {
    echo '<div><a href="http://www.mydomain.com/somefile.pdf">grab the file here</a></div>';
}

?>

Попробуйте: http://jfcoder.com/test/grabfile.php

0 голосов
/ 26 июля 2011

Вам просто нужно проверить значения отправляемой формы.

$group1 = $_POST['group1'];
$group2 = $_POST['group2'];
if ($group1 == 'Yes' AND $group2 == 'Yes') echo 'My hidden data'[
...