men får det inte att fungera,jag har skapat db, och ändrat i config filen, sen går jag in på login.php och ska skapa ett nytt konto så fyller jag i namn och e mailadress i formulären, men när jag klickar på "skapa konto" händer ingenting, vad kan vara fel??
Nej jag får inga felmeddelande,inget händer när jag klickar på skapa konto,här är koden för att skapa ett nytt konto.
<?
/********************************************
* Include databaseconfig and settings *
********************************************/
include("include/config.php");
?>
<h3>Skapa ett nytt konto - steg 1</h3>
<?
if (isset($add))
{
/********************************************
* Check the form variables *
********************************************/
$okName = isset($name) && strlen($name) > 5;
$okEmail = (isset($email) && strlen($email) > 5 && eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+([a-z]{2,3}$)",$email,$check));
$okEmail = ($okEmail) && (getmxrr($check[1].$check[2],$temp));
/********************************************
* Check so that the email adress isn't *
* already registred *
********************************************/
$query = "select count(*) as cnt from user where email='$email'";
$res = mysql_query($query) or die ("Kan inte läsa från databasen!");
$row = mysql_fetch_array($res);
$okEmailDontExist = ($row['cnt'] <= 0);
}
if (isset($add) && $okName && $okEmail && $okEmailDontExist)
{
/********************************************
* Remove hazardous characters from the *
* name variable *
********************************************/
$name = addslashes($name);
/********************************************
* Create a unique registration number *
********************************************/
$regnumber = crc32($name.$email.microtime());
if ($regnumber < 0)
$regnumber = $regnumber * -1;
/********************************************
* Save the information into the database *
********************************************/
$query = "insert into user set name='$name',email='$email',regnumber=$regnumber";
mysql_query($query) or die ("Kan inte spara informationen i databasen!");
/********************************************
* Prepare the email message *
********************************************/
$subject = "Ditt konto hos $systemName är skapat!";
$message = "OBS! Om du inte har begärt ett konto hos $systemName så kan du kasta det här brevet, ";
$message .= "inga fler brev kommer att skickas.\n\n";
$message .= "Klicka på länken nedan för att fullfölja din registrering eller klipp ut ";
$message .= "addressen och klistra in i din webbläsare.";
$message .= "\n\nhttp://$systemHost/$systemUrl/confirm.php?regnumber=$regnumber";
/********************************************
* Send the email message *
********************************************/
mail($email,$subject,"$message","From: $sentFrom \nContent-Type: text/plain; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit");
?>
Ett epostmeddelande har sänts till den adress du uppgav med information om hur du går vidare med
registreringen.<p>
Kontrollera din epost om ett par minuter.
<? // TA BORT DENNA DEL NÄR DU FÅTT MAIL-UTSKICKET ATT FUNGERA! ?>
<p>
DEBUG:
<i>Denna del skall tas bort när du fått allt att funka</i>
<hr>
<b>Här är innehållet i mailet som skall ha skickats:</b><br>
<?= $message ?>
<hr>
<? // ------------------------------------------------------------ ?>
<?
}
else
{
?>
Fyll i ditt namn och din epostadress. Ett brev kommer att skickas till dig med vidare
instruktioner.<p>
<?
/********************************************
* Print out a note about any malformed *
* form variables *
********************************************/
if (isset($add))
{
print "<font color=\"red\">";
if (!$okName) print "* Fältet 'Namn' är inte rätt ifyllt.<br>";
if (!$okEmail) print "* Fältet 'Epost' är inte rätt ifyllt.<br>";
if (!$okEmailDontExist) print "* Den angivna epostadressen är redan registrerad.<br>";
print "</font>";
}
?>
<form action="newaccount.php?add=yes" method="post">
Namn: <small>(minst 6 tecken)</small><br>
<input type="text" size="30" name="name" value="<? print $name; ?>"><p>
e-postadress: <small></small><br>
<input type="text" size="20" name="email" value="<? print $email; ?>"><p>
<input type="submit" value="Skapa konto!">
</form>
<?
}
?>
Du skriver att filen heter login.php, medan du för action har angivet newaccount.php. Eftersom skriptet är byggt så att det skall postas till samma sida, kanske du vill ändra actionvärdet till login.php?
nix, ändrar jag så kommer jag bara tillbaka till början av scriptet,login.php ser ut såhär.
<?
/********************************************
* Include databaseconfig and settings *
********************************************/
include("include/config.php");
if (isset($email) && isset($pass))
{
$query = "SELECT id, name FROM user WHERE email='$email' AND pass=PASSWORD('$pass')";
$res = mysql_query($query) or die ("Kan inte läsa från databasen!");
$row = mysql_fetch_array($res);
if (isset($row['id']))
{
session_start();
$uid = $row['id'];
$uname = $row['name'];
session_register("uid", "uname");
Header("Location: $systemLoggedIn");
}
}
?>
<html>
<body>
<h3>Logga in</h3>
Om du inte har ett konto så måste du först <a href="<?= $systemNewReg ?>">registrera dig</a>, det är en snabb process som inte tar
mer än någon minut.<p>
<form action="login.php" method="post">
e-postadress:<br>
<input type="text" size="20" name="email"><p>
Lösenord:<br>
<input type="password" size="20" name="pass"><p>
<input type="submit" value=" Logga in! ">
</form>
</body>
</html>