при обновлении страницы идет повторное добавление в базу. Помогите как с этим бороться, смотрел форум о header ...посто у меня html форма и php код на одной странице ..непоможет. PHP: <html> <head> <title>123</title> </head> <body> <form method="post" action="rewenie2.php"> Enter Name: <input type="text" name="name" value="<?php echo $_POST['name']?>"/> Enter user name: <input type="text" name="uname" value="<?php echo $_POST['uname']?>"/> Enter Password (must contain at least 4 characters): <input type="password" name="pass"/> <input type="submit" name="submitB" value="Submit"/> </form> $host="localhost"; $mn="root"; $mp="root"; $db="reg_user"; if ($_POST['submitB'] == "Submit"){ $error=true; if($_POST['name']==""){ echo "введите свое Имя<br/>"; $error=false; }else{ $name=$_POST['name']; } If($_POST['uname']==""){ echo "Введите имя пользователя<br/>"; $error=false; }else{ $uname=$_POST['uname']; } if($_POST['pass']==""){ echo "ведите пароль<br/>"; $error=false; }elseif(strlen($_POST['pass'])<4){ echo "короткий пароль<br/>"; exit; }else{ $password=$_POST['pass']; } if($error==true){ $conn=mysql_connect($host,$mn,$mp); $db=mysql_select_db($db,$conn); $sql="INSERT INTO users"."(user_name,user_login,user_password) VALUES ('$name','$uname','$password')"; $rs=mysql_query($sql,$conn); mysql_close($conn); } } ?> </body> </html>
romawka_ural Разнесите форму и контроллер (код, добавляющий запись) по разным страницам сайта. После добавления записи делайте редирект обратно на форму или куда-нибудь еще, чтобы неповадно обновляться было >
romawka_ural Хеадер поможет. PHP: header('Location: '.$_SERVER['PHP_SELF']); ЗЫ. На аватарки можно только личное фото (см. правила)
Можешь сделать редирект на себя же если есть масив $_POST... Но лучше все же послушаться Dagdamor'а и вынести все обработчики в отдельный файл.
Нет. Браузер сам запоминает передаваемые данные и при обновлении передает их снова. Выход один - редирект, пускай даже на себя. Сразу после записи в БД - редирект и exit;