Приемам/не приемам - checkbox

Vladkata

Registered
Здравейте! Искам да направя под вход форма:
Код:
<?php 
session_start(); 
$name[] = "user"; $pass[] = "password"; 

function loginform(){ 
echo '<fieldset style="padding: 2">'; 
echo '<legend>Вход</legend>'; 
echo '<form method=post action="?">'; 
echo 'Потребителско име: <input type=text name=username value="' . $_POST[username] . '">';
echo '<br>'; 
echo 'Парола: <input type=password name=pass>';
echo '<br>'; 
echo '<input type=submit name="s1" value="Вход">'; 
echo '</form>'; 
echo '</fieldset>'; 
} 


if($_GET['action'] == "logout"){ 
$_SESSION['loggedin'] = false; 
$_SESSION['username'] = ""; 
} 

if($_SESSION['loggedin'] == false){ 
if(!$_POST['s1']){ 
loginform(); 
}else{ 

$tmpname = $_POST['username']; 
$tmppass = $_POST['pass']; 

$t = count($name); 
$i = 0; 

while($i <= $t){ 
if($tmpname == $name[$i] && $tmppass == $pass[$i]){ 

$_SESSION['loggedin'] = true; 
$_SESSION['username'] = $name[$i]; 
header('Location: ?'); 
} 
$i++; 
} 
echo "<div class='status'>Невалидно потребителско име и/или парола!</div>";
loginform();
} 
die; 
} 
?>

да има чекбокс, пред който да пише: Приемам условията и като е чекнат да може да се натисне вход, а ако не е да не може и да излиза съобщение че не са приети условията (както излиза невалидно потребителско име...). Ако можете да го приспособите към кода по-горе. Благодаря предварително!
 
PHP:
<?php
session_start();
$name[] = "user"; $pass[] = "password";

function loginform(){
echo '<form action="POST" style="padding: 2">';
echo '<legend>Вход</legend>';
echo 'Потребителско име: <input type=text name=username value="' . $_POST[username] . '">';
echo '<br>';
echo 'Парола: <input type=password name=pass>';
echo '<br>';
echo 'Приемам/не приемам<input type=checkbox name="checkbox">';
echo '<input type=submit name="s1" value="Вход">';
echo '</form>';
}


if($_GET['action'] == "logout"){
$_SESSION['loggedin'] = false;
$_SESSION['username'] = "";
}

if($_SESSION['loggedin'] == false){
if(!isset($_POST['s1'])){
loginform();
}else{
$checkbox=$_POST['checkbox'];
	if(strlen($checkbox)==0)
	{
		$checkbox=0;
	}
	else
	{
		$checkbox=1;
	}
	if($checkbox==1)
	{
		$tmpname = $_POST['username'];
		$tmppass = $_POST['pass'];

		$t = count($name);
		$i = 0;

		while($i <= $t){
		if($tmpname == $name[$i] && $tmppass == $pass[$i]){

		$_SESSION['loggedin'] = true;
		$_SESSION['username'] = $name[$i];
		header('Location: ?');
		}
		$i++;
		}
		echo "<div class='status'>Невалидно потребителско име и/или парола!</div>";
		loginform();
	}
	else
	{
		echo 'Трябва да се съгласите с правилата';
	}
}
die;
}
?>

Не мога да го тествам за това ако имаш проблеми пиши
 
Тествах го - използвам безплатен хостинг. С нормалния индекс си влиза. Замених го с този, където е добавен чекбокс, обаче като натисна вход и ми дава грешка - прехвърля ме към сайта на хостинг фирмата, това обикновено става като файла не съществува. Не показва че има грешка на някой ред, файл, а просто ме пренасочва...

Ще пробвам отново. Провери ти дали нямаш грешка.

Благодаря!
 
Поправих си файла, не видях грешки в PHP-to а само в html-а, но едва ли за това няма да те пуснат, не знам, нямаш ли localhost
 
Трябваше да зададеш:
PHP:
header('Location: index.php');

PHP:
<?php
session_start();
$name[] = "user"; $pass[] = "password";

function loginform(){
echo '<form action="POST" style="padding: 2">';
echo '<legend>Вход</legend>';
echo 'Потребителско име: <input type=text name=username value="' . $_POST[username] . '">';
echo '<br>';
echo 'Парола: <input type=password name=pass>';
echo '<br>';
echo 'Приемам/не приемам<input type=checkbox name="checkbox">';
echo '<input type=submit name="s1" value="Вход">';
echo '</form>';
}


if($_GET['action'] == "logout"){
$_SESSION['loggedin'] = false;
$_SESSION['username'] = "";
}

if($_SESSION['loggedin'] == false){
if(!isset($_POST['s1'])){
loginform();
}else{
$checkbox=$_POST['checkbox'];
        if(strlen($checkbox)==0)
        {
                $checkbox=0;
        }
        else
        {
                $checkbox=1;
        }
        if($checkbox==1)
        {
                $tmpname = $_POST['username'];
                $tmppass = $_POST['pass'];

                $t = count($name);
                $i = 0;

                while($i <= $t){
                if($tmpname == $name[$i] && $tmppass == $pass[$i]){

                $_SESSION['loggedin'] = true;
                $_SESSION['username'] = $name[$i];
                header('Location: index.php');
                }
                $i++;
                }
                echo "<div class='status'>Невалидно потребителско име и/или парола!</div>";
                loginform();
        }
        else
        {
                echo 'Трябва да се съгласите с правилата';
        }
}
die;
}
?>
 
PHP:
<?php
session_start();
$name[] = "user"; $pass[] = "password";

function loginform(){
echo '<form action="POST" style="padding: 2">';
echo '<legend>Вход</legend>';
echo 'Потребителско име: <input type=text name=username value="' . $_POST[username] . '">';
echo '<br>';
echo 'Парола: <input type=password name=pass>';
echo '<br>';
echo 'Приемам/не приемам<input type=checkbox name="checkbox">';
echo '<input type=submit name="s1" value="Вход">';
echo '</form>';
}


if($_GET['action'] == "logout"){
$_SESSION['loggedin'] = false;
$_SESSION['username'] = "";
}

if($_SESSION['loggedin'] == false){
if(!isset($_POST['s1'])){
loginform();
}else{
$checkbox=$_POST['checkbox'];
        if($checkbox == true)
        {
                $checkbox=0;
        }
        else
        {
                $checkbox=1;
        }
        if($checkbox == true)
        {
                $tmpname = $_POST['username'];
                $tmppass = $_POST['pass'];

                $t = count($name);
                $i = 0;

                while($i <= $t){
                if($tmpname == $name[$i] && $tmppass == $pass[$i]){

                $_SESSION['loggedin'] = true;
                $_SESSION['username'] = $name[$i];
                header('Location: index.php');
                }
                $i++;
                }
                echo "<div class='status'>Невалидно потребителско име и/или парола!</div>";
                loginform();
        }
        else
        {
                echo 'Трябва да се съгласите с правилата';
        }
}
die;
}
?>
 
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title> Добре дошли!</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
	<body>
		<form method="post">
			<input id="fld" type="text" name="name" /><br/>
			<input id="control" onclick="disable();" type="checkbox" />
			<input id="send" type="submit"  value="send" />
		</form>
		<script type="text/javascript">
			function disable(){
				var sender 	= document.getElementById('send');
				
				if (document.getElementById('control').checked != true){
					sender.setAttribute('disabled', 'true');
				}else{
					sender.removeAttribute('disabled');
				}
			};
		</script>
	</body>
</html>

Пробвай това
 

Back
Горе