laynus Skrivet 10 Augusti 2009 Rapport Dela Skrivet 10 Augusti 2009 gjorde lite ändringar i registrerings scriptet fall det hjälper? <?php error_reporting(E_ALL); ini_set("display_errors", "1"); session_start(); // Alltid överst på sidan include "conn.php"; // aktivera kontot if (isset($_GET['code'])) { $sql = "SELECT aktiv, md5 from members WHERE md5 = '{$_GET['code']}' AND aktiv = '0'"; $result = mysql_query($sql); $md5 = mysql_result($result, 0, 'md5'); $aktiv = mysql_result($result, 0, 'aktiv'); if ($md5 == $_GET['code'] && $aktiv == '0') { $sql = "UPDATE members SET aktiv = '1' WHERE md5 = '{$md5}'"; mysql_query($sql) or die("SQL: $sql<br>" . mysql_error()); } } if (isset($_POST['submit'])){ $_POST = db_escape($_POST); // Tag bort eventuella blanksteg i början eller slutet foreach($_POST as $key => $val){ $_POST[$key] = trim($val); } //Kolla efter tomma fält if (empty($_POST['user']) || empty($_POST['passwd']) || empty($_POST['email'])) { $reg_error[] = 0; } // Kolla om användarnamnet är upptaget $sql = "SELECT COUNT(*) FROM members WHERE user='{$_POST['user']}'"; $result = mysql_query($sql); if (mysql_result($result, 0) > 0) { $reg_error[] = 1; } // Kolla om e-post kan tänkas vara ok if (!preg_match('/^[-A-Za-z0-9_.]+[@][A-Za-z0-9_-]+([.][A-Za-z0-9_-]+)*[.][A-Za-z]{2,8}$/', $_POST['email'])) { $reg_error[] = 2; } // Inga fel? Spara och skicka mail med aktiveringslänk if (!isset($reg_error)) { //Fixa lite md5 $salt1 = time(); $salt2 = microtime(); $salt3 = mt_rand(0, 100000); $salt4 = date("H:i:s"); $salt5 = date("W"); $seed = $salt1.$salt2.$salt3.$salt4.$salt5; // Skicka in hela rasket i en md5 som seed och få fram unikt värde $md5 = md5($seed); $password = md5($_POST['passwd']); $sql = "INSERT INTO members(user, pass, email, md5, aktiv) VALUES('{$_POST['user']}', '{$_POST['passwd']}', '{$_POST['email']}', '{$md5}', '0')"; mysql_query($sql); $subject = "Ditt konto!"; $email = $_POST['email']; $from = "From: root@localhost"; $message = "\n Ett konto har registerats med denna mailadress, om du inte har registerat detta konto så har någon använt din mailadress vid registeringen. Om du inte aktiverar ditt konto inom en timme tas kontot hos oss bort.\n För att aktivera ditt konto tryck på länken nedan:\n\nhttp://localhost/members_area/register.php?code=" . $md5 . "\n\n Om det inte går att klicka på länken så kopiera den och klistra in den i din webbläsare.\n\n"; mail($email, $subject, $message, $from); echo '<meta http-equiv="refresh" content="0; URL=http://localhost/members_area/register.php?close=true">'; // stänger rutan exit; } } else { // Sätt variabler för tomt formulär for ($i=0; $i<6; $i++) { $back[$i] = ""; } } $error_list[0] = "Alla fält är inte infyllda"; $error_list[1] = "Användarnamnet är upptaget"; $error_list[2] = "Felaktig e-postadress"; $error_list[3] = "Lösenorden du skrev stämmer inte överrens"; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Registrera dig</title> </head> <body> <font face="Arial"> <h3>Registrera dig</h3> Att tänka på: <ul> <li>Din epost-adress måste vara korrekt!</li> <li>Alla ip-adresser loggas!</li> </ul> <?php if (isset($reg_error)){ // Felmeddelanden $error_list[0] = "Alla fält är inte infyllda"; $error_list[1] = "Användarnamnet är upptaget"; $error_list[2] = "Felaktig e-postadress"; 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"; // Sätter returvariabler till formuläret $back[0] = $_POST['user']; $back[1] = $_POST['passwd']; $back[2] = $_POST['email']; } ?> <form action="register.php" method="post"> <table cellspacing="3"> <tr> <td>Namn</td> <td><input type="text" name="user" value=""></td> </tr> <tr> <td>Lösenord</td> <td><input type="text" name="passwd" value=""></td> </tr> <tr> <td>Email</td> <td><input type="text" name="email" value=""></td> </tr> <tr> <td colspan="2" align="left"> <input type="submit" name="submit" value="Spara dina uppgifter"> </td> </tr> </table> </form> </body> </html> Citera Länk till kommentar Dela på andra sajter More sharing options...
woody Skrivet 10 Augusti 2009 Författare Rapport Dela Skrivet 10 Augusti 2009 Ska se om den funkar, måste påpeka att denna sida ser för jävlig ut. Citera Länk till kommentar Dela på andra sajter More sharing options...
Maajkan Skrivet 10 Augusti 2009 Rapport Dela Skrivet 10 Augusti 2009 Ska se om den funkar, måste påpeka att denna sida ser för jävlig ut.Förut behövde du hjälp med att deleta account name Vad behöver du hjälp med nu? Citera Länk till kommentar Dela på andra sajter More sharing options...
woody Skrivet 10 Augusti 2009 Författare Rapport Dela Skrivet 10 Augusti 2009 Måste erkänna att jag var lite otydlig i början. Skrotade mitt första inloggnings script och tog ett färdigt. Jobbar fotfarande på att få mail aktiveringen att fungera. Citera Länk till kommentar Dela på andra sajter More sharing options...
Maajkan Skrivet 10 Augusti 2009 Rapport Dela Skrivet 10 Augusti 2009 (redigerat) Måste erkänna att jag var lite otydlig i början. Skrotade mitt första inloggnings script och tog ett färdigt. Jobbar fotfarande på att få mail aktiveringen att fungera.Varför tar du inte bara de som fungerade i andra scriptet? Redigerat 10 Augusti 2009 av Maajkan Citera Länk till kommentar Dela på andra sajter More sharing options...
PunkArne Skrivet 13 Augusti 2009 Rapport Dela Skrivet 13 Augusti 2009 Har du en mailserver installerad? Annars kan det vara att mailservrar ogillar att man skickar från "localhost". Citera Länk till kommentar Dela på andra sajter More sharing options...
Rekommendera inlägg
Gå med i konversationen
Du kan skriva nu och registrera dig senare. Om du har ett konto, logga in nu för att posta med ditt konto.