Я новичок в проверке php. Я работаю над формой регистрации, которая будет проходить через php-скрипт для проверки базы данных с двумя необязательными переменными ac_title
и email
после проверки ошибок. Он вставляет данные в базы данных. Имя файла: formvu.php
, затем оно переместится на activate.php
. У меня возникла проблема в том, что если я используюКнопка отправки не проверяет скрипт php.
<form name="fone" method="post" onsubmit="return validateform(fone)" action="activate.php">
Форма игнорирует скрипт php и перейдет на следующую страницу. Buh, когда я буду использовать это:
<form name="fone" method="post" onsubmit="return validateform(fone)" action="<?php $_SERVER['PHP_SELF']?> ">
Теперь на странице будут запущены все ошибки и команды php.
Вот весь мой код PHP:
<?php
if($_SERVER["REQUEST_METHOD"] == "POST")
{
$nun=$_POST['account'];
$em=$_POST['email'];
$register="SELECT ac_title,email FROM register";
$query=mysql_query($register);
while ($row= mysql_fetch_array($query))
{
if ($nun == $row['ac_title'])
{
print "<span class=\"phclass\"><br/><b>
Your Account Title :</b></span>"." '"."<span class=\"ahclass\"><b>$nun</b></span>"."'".
" <span class=\"phclass\"><b>already exsist, please choose different.</b></span><br/>";
}
if($em == $row['email'])
{
print "<span class=\"phclass\"><b><br/>Your Email:</b>
</span>"." "."<span class=\"phclass\"><b> $em</b></span>"."<span class=\"phclass\">
<b> already exsist, please visit <a href=\"resetpassword.html\">
Forget password</a></b></span><br/>";
}
if ($nun != $row['ac_title'] && $em != $row['email'])
{
$ac_title=$_POST['account'];
$email=$_POST['email'];
$pass=$_POST['pwd'];
$fn=$_POST['fname'];
$gd=$_POST['gender'];
$city=$_POST['city'];
$VID=$_POST['vuid'];
$course=$_POST['courseid'];
$camp=$_POST['campus'];
$hash=md5(rand(0,1000));
$sql="INSERT INTO register (ac_title, email, pass,fn, sex, city,
VID, CRS, campus, hash,activate) VALUES('$ac_title', '$email',
'$pass','$fn', '$gd',' $city','$VID','$course',
'$camp','$hash','0')";
$inst=mysql_query($sql,$connection);
if (!$inst)
{
print "";
}
else
{
echo "Succesful ";
}
}// if
} // while
} // if
?>
Если действие по умолчанию страница будет работать весь сценарий. Я хочу запустить весь скрипт и перейти на следующую страницу (activate.php
).
Проверьте [заголовок ] (http://php.net/manual/en/function.header.php), чтобы переместить ваш скрипт (обратите внимание, что NOTHING может быть выведено - т.е. HTML не должен быть написан до перенаправления) –
ic hecked header() мне дана ошибка, которую я опубликовал вниз ... означает, что мне нужно опубликовать этот скрипт php до моего кодирования html. –
Именно поэтому я помещаю слово «НИЧЕГО» в столицах - вы выводите HTML перед вызовом заголовка() 'где-то на вашей странице. Не делайте этого, переместите часть обработки PHP над вашим первым тегом '' и используйте код Патрика для перенаправления –