Hi all
I have a very strange problem with my PHP code when using forms. Im currently writing a register page for a forum and when i press submit button then i must press it twice just to get the "you are registered" message.
Any help on this would be grateful from my side đ
Stefan
P.S Sorry about the swedish text in the code D.S
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Registrera</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
session_register("is_registered");
$is_registered = $_SESSION['is_registered'];
if ($is_registered == 0 || $is_registered == "")
{
$error = "";
$username = "";
$email = "";
if (session_is_registered("login") == false)
{
session_register("login");
$_SESSION['login'] = false;
}
if (isset($_POST['username'], $_POST['password1'], $_POST['password2']) && !empty($_POST['username']). !empty($_POST['password1']). !empty($_POST['password2']))
{
$conn_db=odbc_connect("forum","","") or die("Ingen databas hittades.");
$sql="select id, username from users where username='". $_POST['username']. "'";
$recset=odbc_exec($conn_db, $sql);
if (odbc_result($recset, "username") == $_POST['username'])
{
$error = 1;
$username = $_POST['username'];
$email = trim($_POST['email']);
odbc_close($conn_db);
$_SESSION['is_registered'] = false;
}
else
{
if (trim($_POST['password2']) != trim($_POST['password1']) || empty($_POST['password1']) || empty($_POST['password2']))
{
$error = 2;
$username = trim($_POST['username']);
$email = trim($_POST['email']);
odbc_close($conn_db);
$_SESSION['is_registered'] = false;
}
else
{
$username = $_POST['username'];
$password = $_POST['password1'];
$email = $_POST['email'];
$fullname = "Not complete.";
$avatar = "notselected";
$signature = "Not complete.";
$totalposts = 0;
$lastlogin = date("Y-m-d H:i:s");
$administrator = 0;
$sql="INSERT INTO users (username,password,email,fullname,avatar,signature,totalposts,lastlogin,administrator)
VALUES ('$username','$password','$email','$fullname','$avatar','$signature','$totalposts','$lastlogin','$administrator')";
odbc_exec($conn_db, $sql);
odbc_close($conn_db);
$username = "";
$password = "";
$email = "";
$fullname = "";
$avatar = "";
$signature = "";
$totalposts = 0;
$lastlogin = "";
$administrator = 0;
$_SESSION['is_registered'] = true;
}
}
}
?>
<br><br>
<table align="center" border="1" cellpadding="0" cellspacing="0" width="75%">
<form action="register.php" name="Register" method="post">
<tr>
<td align="center" colspan="2" valign="top">
Registera?
</td>
</tr>
<tr>
<td align="left" width="50%">
AnvÀndarnamn
</td>
<td align="left" width="50%">
<input name="username" maxlength="20" type="text" value="<?=trim($username)?>">
</td>
</tr>
<tr>
<td align="left" width="50%">
Lösenord
</td>
<td align="left" width="50%">
<input name="password1" type="password" value="">
</td>
</tr>
<tr>
<td align="left" width="50%">
Skriv om Lösenordet
</td>
<td align="left" width="50%">
<input name="password2" type="password" value="">
</td>
</tr>
<tr>
<td align="left" width="50%">
E-post
</td>
<td align="left" width="50%">
<input name="email" type="text" value="<?=trim($email)?>">
</td>
</tr>
<tr>
<td align="right" colspan="2">
<input align="right" name="reset" type="reset" value="Ă
terstÀll"> <input align="right" name="register_submit" type="submit" value="Registrera">
</td>
</tr>
</form>
</table>
<center><br>
<?
if ($error==1) echo "AnvÀndarnamnet anvÀnds redan, vÀlj ett annat.";
if ($error==2) echo "Lösenordet matchar inte.";
?>
</center>
<?
}
elseif ($is_registered == 1)
{
echo "<center>Du Àr nu registrerad. Tryck pÄ lÀnken nedanför för att gÄ tillbaka till forumet och logga in.</center><br><br>";
echo "<center><a href='default.php'>Tillbaka till forumet.</a></center>";
session_unregister("is_registered");
}
?>
</body>
</html>