|
|
|
| Добрый вечер.
Я в пхп новичок и потому обратился к вам за помощью
Сейчас занялся написанием сайта, сам сайт на хтмл, но возникла проблема, которую нужно решить через пхп.
На странице сайта выводится форма соглашения с лицензией.:
<form name="form1" method="post" action="agreement.php">
<input name="agree" value="true" type="checkbox">
<input name="cheat" value="true" type="checkbox">
<input src="images/continue-button.gif" name="submit" alt="Далее" class="button" taborder="14" border="0" type="image" width="174" height="46">
</form>
|
соглашения с лицензией.
Пользователь должен поставить галочку в
<input name="agree" value="true" type="checkbox">
| и
<input name="cheat" value="true" type="checkbox">
| и нажать на кнопку:
<input src="images/continue-button.gif" name="submit" alt="Далее" class="button" taborder="14" border="0" type="image" width="174" height="46">
| если со всеми пунктами он согласился т.е. поставил галочку его редиректует на следующую страницу, если что-то упустил ему должен выводится еррор, что мол если ты не соглашаешься с нашей лицензией, тебе здесь нечего делать).
Вобщем то задача не сложная. но я просидел день и так у меня ничего и не вышло....
пробовал такой вариант:
<?
if ($agree="true")
{$n ="next";}
if ($agree="false")
{
$n ="error";
}
header("Location: $n");
?>
|
и других много вариантов перепробовал, безрезультатно...
Может вы мне поможете или хотя б подскажите в какую сторону копать. | |
|
|
|
|
|
|
|
для: Leon22
(16.08.2008 в 21:17)
| | если он не нажал то value будет ""
<?
if ($_POST['agree']=="true") {
$n ="next";
}
else{
$n ="error";
}
header("Location: $n");
?>
|
или так компактненько)
<?php
$n=empty($_GET['add']) ? "error" : "next";
header("Location: $n");
?>
|
| |
|
|
|
|
|
|
|
для: sl1p
(16.08.2008 в 21:29)
| | Спасибо большое, многоуважаемый.
Выручили... | |
|
|
|
|
|
|
|
для: Leon22
(16.08.2008 в 21:41)
| | спасибо еще раз за оперативную помощь.
Но у меня опять возникла проблема:
<?
if ($_POST['agree']=="true")
if ($_POST['cheat']=="true")
{
$n ="next";
}
else
{
$n ="error";
}
header("Location: $n");
|
Если обе галочки поставлены, то отсылает на страницу next, если какая либо не нажата отсылает на error,
А каким образом можна сделать? что б отсылало при каждой ошибке:
1) если не нажата первая галочка на error
2) Если не нажата вторая на error2
Заранее благодарю. | |
|
|
|
|
|
|
|
для: Leon22
(16.08.2008 в 22:58)
| | вот так сори,обновил
<?php
if(!empty($_POST['agree']) && !empty($_POST['cheat'])){
$n="next";
}
elseif(empty($_POST['agree'])){
$n="agree_error";
}
elseif(empty($_POST['cheat'])){
$n="cheat_error";
}
?>
|
| |
|
|
|
|
|
|
|
для: Leon22
(16.08.2008 в 22:58)
| |
<?
$n=(!empty($_POST['agree']) && !empty($_POST['cheat']))? "next" : ( empty($_POST['agree']? "error" : "error2");
?>
|
упс нажал ответить, отвлекся, отписал, отправил, а такое же решение уже sl1p успел дать :) | |
|
|
|
|
|
|
|
для: elrevin
(16.08.2008 в 23:10)
| | вот почему я за то чтобы сделали возможность удаления месагов =D неудобно жуть=( | |
|
|
|
|
|
|
|
для: sl1p
(16.08.2008 в 23:18)
| | Все всем спасибо огромное.
если кто-то столкнулся с такой же проблемой, конечный код у меня выглядит так:
<?php
if(!empty($_POST['agree']) && !empty($_POST['cheat'])){
$n="next";
}
else if(empty($_POST['agree']))
{
$n="agree_error";
}
else if(empty($_POST['cheat']))
{
$n="cheat_error";
}
if(empty($_POST['agree']) && empty($_POST['cheat']))
{
$n="error";
}
header("Location: $n");
?>
|
| |
|
|
|
|
|
|
|
для: Leon22
(16.08.2008 в 23:22)
| | хм создавать 3 страницы для 3х отдельных ошибок это варварство) | |
|
|
|
|
|
|
|
для: sl1p
(16.08.2008 в 23:27)
| | знаю) ну это единичный случай) можна на всем сайте такое один раз позволить;)
ну ладно шутки в сторону...
А что бы вы мне посоветовали сделать такого в хтмл? что б не создавать 3 страницы. | |
|
|
|
|
|
|
|
для: Leon22
(16.08.2008 в 23:43)
| | сделайте расширение вашей страницы на .php и туда вот втыкнуть.. поменяйте просто на вашу форму и action на ту страницу где лежит форма,тобишь отправлять будет самой себе..
главное замените все кавычки в форме " на ' это можно сделать в обычном блокноте..
ну вопщем такое, разбирайтесь)
<?php
$errormsg="";
$go=false;
if(!empty($_POST['Submit'])){
$check=array();
if(empty($_POST['agree'])){$check['agree']=false; $errormsg.="agree_error<br>";}else $check['agree']=true;
if(empty($_POST['cheat'])){$check['cheat']=false; $errormsg.="cheat_error<br>";}else $check['cheat']=true;
foreach($check as $v){
if($v){
$go=true;
}
else{
$go=false;
break;
}
}
}
if(!$go){
echo"<center>$errormsg</center>
<form action='test.php' method='post'>
agree
<input type='checkbox' name='agree' value='true' /><br />
cheat
<input type='checkbox' name='cheat' value='true' />
<br />
<input type='submit' name='Submit' value='Submit' />
</form>";
}
else{
echo "Next";
}
?>
|
| |
|
|
|
|
|
|
|
для: sl1p
(17.08.2008 в 00:03)
| | ок будем разбираться..;) | |
|
|
|