Hoppa till innehåll

Hjälp Med .php Koder!


woody

Rekommendera inlägg

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>

Länk till kommentar
Dela på andra sajter

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 av Maajkan
Länk till kommentar
Dela på andra sajter

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.

Gäst
Svara på det här ämnet...

×   Klistrade in som rich text.   Klistra in som vanlig text istället

  Endast 75 emojis är tillåtet.

×   Din länk har automatiskt inbäddats.   Visa som en länk istället

×   Ditt tidigare innehåll har återställts.   Rensa redigeraren

×   Du kan inte klistra in bilder direkt. Ladda upp eller infoga bilder från URL.

×
  • Skapa ny...