webForumDet fria alternativet

Fel i kod för registrering

PHP

4 svar · 542 visningar · startad av Emil W

Medlem sedan mars 2009512 inlägg
Frågan#1

Har problem med att få en texten att försvinna ur ruta har försökt med får ej till det. Någon som vet vad det kan vara för fel ?

Jag får denna text <php echo $back[1]; ?> i email rutan och namn rutan

<?php
session_start();

$server = "*************'";
$user = "**************";
$pass = "***************";

if(isset($_POST['bli']))
{
$con = @mysql_connect($server,$user,$pass);
if(!$con)
{
die('fel' . mysql_error());
}
mysql_select_db("****************", $con);

if(empty($_POST['email']) || empty($_POST['namn']) ||
empty($_POST['pass']))
{
$reg_error[] = 0;
}
$user = mysql_real_escape_string($_POST['email']);
$sql = "SELECT COUNT(*) FROM members WHERE email='$user'";
$result = mysql_query($sql);
if(mysql_result($result, 0) > 0)
{
$reg_error[] = 1;
}
if(mysql_real_escape_string($_POST['pass']) != mysql_real_escape_string($_POST['pass1']))
{
$reg_error [] = 3;
}

$namn = mysql_real_escape_string($_POST['namn']);
$pass = mysql_real_escape_string(SHA1($_POST['pass']));
$email = mysql_real_escape_string($_POST['email']);
$telefon = mysql_real_escape_string($_POST['telefon']);
$lan = mysql_real_escape_string($_POST['lan']);
$stad = mysql_real_escape_string($_POST['stad']);
$nyhetsbrev = mysql_real_escape_string($_POST['nyhetsbrev']);

if(!isset($reg_error))
{
$sql = "INSERT INTO members (`pass`,`namn`,`email`,`telefon`,`lan`,`stad`,`nyhetsbrev`) VALUES('$pass','$namn,'$email','$telefon','$lan','$stad','$nyhetsbrev')";
mysql_query($sql);

$_SESSION['sess_id'] = mysql_insert_id();
$_SESSION['sess_user'] = $user;
header("Location:start_forum.php");
exit;
}
}
else
{
for($i=0; $i<4; $i++)
{
$back[$i] = "";
}
}
$error_list[0] = "Alla fält är inte i fyllda";
$error_list[1] = "Denna mailadress finns redan registerad";
$error_list[3] = "Lösenorden stämmer inte överrens";

if (isset($reg_error)){
  echo "<center>";
  echo "Något blev fel:<br>\n";
  echo "<ul>\n";
  for ($i=0; $i<sizeof($reg_error); $i++) {
    echo "<li>{$error_list[$reg_error[$i]]}</li>\n";
  }
  echo "</ul>\n";

  $back[0] = stripslashes($_POST['email']);
  $back[1] = stripslashes($_POST['namn']);
echo "</center>";
}
?>

Så här ser koden för formuläret ut

<form method="post" action="skapakonto.php">
<table>
<tr><td><b>Email:</b></td><td><b>Namn:</b></td></tr>
<tr><td><input type="text" name="email" size="32" class="ruta" value="<php echo $back[0]; ?>"></td><td><input type="text" name="namn" size="32" class="ruta" value="<php echo $back[1]; ?>"></td></tr>
<tr><td><b>Lösenord:</b></td><td><b>Bekräfta lösenord:</b></td></tr>
<tr><td><input type="text" name="pass" size="32" class="ruta" value=""></td><td><input type="text" name="pass1" size="32" class="ruta" value=""></td></tr>
<tr><td><b>Telefon: (frivilligt)</b></td><td><b>Nyhetsbrev:</b></td></tr>
<tr><td><input type="text" name="telefon" size="32" class="ruta" value=""></td>
<td>
<select name="nyhetsbrev">
<option value="Ja">Jag vill ha nyhetsbrev</option>
<option value="Nej">Jag vill inte nyhetsbrev</option>
</select>
</td>
</tr>
<tr><td><b>Län:</b></td><td><b>Stad:</b></td></tr>
<tr><td><input type="text" name="lan" size="32" class="ruta"></td><td><input type="text" name="stad" size="32" class="ruta"></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="bli" value="Bli medlem nu" class="knapp"></td></tr>
</table>
</form>
Medlem sedan mars 20025 907 inlägg
#2

Orkar inte titta igenom koden, men <php ska vara <?php. Börja där.. :)

Medlem sedan mars 2009512 inlägg
#3

Tack så mycket, ibland är man blind :e

Medlem sedan jan. 20023 327 inlägg
#4

Emil W, för din egen skull, lär dig indentering!

Medlem sedan mars 2009512 inlägg
#5

Tack så mycket ska göra detta på en gång.

Edit: Har fixat det nu.

403 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
129 ms — deklarationer (db)
131 ms — hämta statistik (db)
140 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)