Hallo,
Ich benutze das kostenlose Login-Script von PHP Login Script :: Free PHP/MySQL Login Script with Remember me !
Ich habe ein wenig am Lay-Out verändert, um das Script besser auf meine Homepage einbinden zu können. Allerdings funktioniert nun das Registrieren nicht mehr. Wenn man auf "Register" klickt, lädt die Seite einmal neu, mehr aber auch nicht. Vorher hat alles geklappt!
Hier der PHP-Code:
Ist etwas lang, aber ich hoffe, ihr könnt mir helfen.
PS: Das Copyright von dem Script hab ich rausgenommen, kommt aber auf die Homepage drauf!!
djlars
Ich benutze das kostenlose Login-Script von PHP Login Script :: Free PHP/MySQL Login Script with Remember me !
Ich habe ein wenig am Lay-Out verändert, um das Script besser auf meine Homepage einbinden zu können. Allerdings funktioniert nun das Registrieren nicht mehr. Wenn man auf "Register" klickt, lädt die Seite einmal neu, mehr aber auch nicht. Vorher hat alles geklappt!
Hier der PHP-Code:
PHP-Code:
<?php
/*************** PHP LOGIN SCRIPT V 2.0*********************
***************** Auto Approve Version**********************
(c) Balakrishnan 2009. All Rights Reserved
Usage: This script can be used FREE of charge for any commercial or personal projects.
Limitations:
- This script cannot be sold.
- This script may not be provided for download except on its original site.
For further usage, please contact me.
***********************************************************/
include 'dbc.php';
if($_POST['doRegister'] == 'Register')
{
/******************* Filtering/Sanitizing Input *****************************
This code filters harmful script code and escapes data of all POST data
from the user submitted form.
*****************************************************************/
foreach($_POST as $key => $value) {
$data[$key] = filter($value);
}
/********************* RECAPTCHA CHECK *******************************
This code checks and validates recaptcha
****************************************************************/
require_once('recaptchalib.php');
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
die ("<h3>Der eingegebene Code stimmt nicht. Bitte versuche es erneut</h3>" .
"(reCAPTCHA said: " . $resp->error . ")");
}
/************************ SERVER SIDE VALIDATION **************************************/
/********** This validation is useful if javascript is disabled in the browswer ***/
if(empty($data['full_name']) || strlen($data['full_name']) < 4)
{
$err = urlencode("ERROR: Ungültiger name. Bitte gebe mindestens 3 Zeichen ein.");
header("Location: register.php?msg=$err");
exit();
}
// Validate User Name
if (!isUserID($data['user_name'])) {
$err = urlencode("ERROR: Ungültiger Username. Bitte verwende nur Buchstaben und Zahlen.");
header("Location: register.php?msg=$err");
exit();
}
// Validate Email
if(!isEmail($data['usr_email'])) {
$err = urlencode("ERROR: Ungültige E-Mail-Adresse.");
header("Location: register.php?msg=$err");
exit();
}
// Check User Passwords
if (!checkPwd($data['pwd'],$data['pwd2'])) {
$err = urlencode("ERROR: Ungültiges oder nicht gleiches Passwort. Bitte gebe mindestens 3 Zeichen ein.");
header("Location: register.php?msg=$err");
exit();
}
$user_ip = $_SERVER['REMOTE_ADDR'];
// stores md5 of password
$md5pass = md5($data['pwd']);
// Automatically collects the hostname or domain like example.com)
$host = $_SERVER['HTTP_HOST'];
$host_upper = strtoupper($host);
$path = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
// Generates activation code simple 4 digit number
$activ_code = rand(1000,9999);
$usr_email = $data['usr_email'];
$user_name = $data['user_name'];
/************ USER EMAIL CHECK ************************************
This code does a second check on the server side if the email already exists. It
queries the database and if it has any existing email it throws user email already exists
*******************************************************************/
$rs_duplicate = mysql_query("select count(*) as total from users where user_email='$usr_email' OR user_name='$user_name'") or die(mysql_error());
list($total) = mysql_fetch_row($rs_duplicate);
if ($total > 0)
{
$err = urlencode("ERROR: Dieser Username existiert bereits. Bitte wähle einen anderen");
header("Location: register.php?msg=$err");
exit();
}
/***************************************************************************/
$sql_insert = "INSERT into `users`
(`full_name`,`user_email`,`pwd`,`address`,`tel`,`fax`,`website`,`date`,`users_ip`,`activation_code`,`country`,`user_name`
)
VALUES
('$data[full_name]','$usr_email','$md5pass','$data[address]','$data[tel]','$data[fax]','$data[web]'
,now(),'$user_ip','$activ_code','$data[country]','$user_name'
)
";
mysql_query($sql_insert,$link) or die("Insertion Failed:" . mysql_error());
$user_id = mysql_insert_id($link);
$md5_id = md5($user_id);
mysql_query("update users set md5_id='$md5_id' where id='$user_id'");
// echo "<h3>Thank You</h3> We received your submission.";
$message =
"Vielen Dank für deine Registrierung auf bulistar.de! Hier sind deine Login-Daten\n
Username: $user_name \n
Email: $usr_email \n
Passwort: $data[pwd] \n
Activation code: $activ_code \n
*****Aktivierungs-Link*****\n
http://$host$path/activate.php?user=$md5_id&activ_code=$activ_code
Vielen Dank
Administrator
$host_upper
______________________________________________________
Dies ist eine automatisch generierte E-Mail.
***Bitte nicht antworten!****
";
mail($usr_email, "Deine Registrierung", $message,
"From: \"Bulistar.de\" <auto-reply@$host>\r\n" .
"X-Mailer: PHP/" . phpversion());
/********************* SMTP EMAIL WITH PHPMAILER LIBRARY *********************
i have heard lots of complaints that users not able to receive email using mail() function
so i am using alternate SMTP emailing which is quite fast and reliable. Before you use this you should
create POP/SMTP email in your hosting account
This script needs class.phpmailer.php and class.smtp.php files from PHPMailer library.
Download here: http://phpmailer.sourceforge.net
********************************************************************************/
/*
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = $smtp_host;
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = $smtp_user; // SMTP username
$mail->Password = $smtp_passwd; // SMTP password
$mail->From = $smtp_from;
$mail->FromName = $smtp_from_name;
$mail->AddAddress($usr_email);
$mail->Subject = $smtp_subject;
$mail->Body = $message;
$mail->WordWrap = 50;
$mail->Send();
*/
header("Location: thankyou.php");
exit();
}
?>
<html>
<head>
<title> </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script language="JavaScript" type="text/javascript" src="js/jquery.validate.js"></script>
<script>
$(document).ready(function(){
$.validator.addMethod("username", function(value, element) {
return this.optional(element) || /^[a-z0-9\_]+$/i.test(value);
}, "Benutzername darf nur A-Z, 1-9 und _ .");
$("#regForm").validate();
});
</script>
<link href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<p>
<?
if (isset($_GET['done'])) {
echo "<h2>Danke!</h2> Du kannst dich jetzt <a href=\"login.php\">hier</a>einloggen!";
exit();
}
?></p>
<?
if (isset($_GET['msg'])) {
$msg = mysql_real_escape_string($_GET['msg']);
echo "<div class=\"msg\">$msg</div>";
}
if (isset($_GET['done'])) {
echo "<div><h2>Danke!</h2> Du kannst dich jetzt <a href=\"login.php\">hier einloggen!</a></div>";
exit();
}
?>
<br>
<form action="register.php" method="post" name="regForm" id="regForm" >
<table>
<tr>
<td><p>Dein Name*</td> <td>
<input name="full_name" type="text" id="full_name" class="required">
</p></td>
</tr>
<tr>
<td>Benutzername*</td><td><span class="required">
<input name="user_name" type="text" id="user_name" class="required username" minlength="5" >
<input name="btnAvailable" type="button" id="btnAvailable"
onClick='$("#checkid").html("Bitte warten ..."); $.get("checkuser.php",{ cmd: "check", user: $("#user_name").val() } ,function(data){ $("#checkid").html(data); });'
value="Check Availability">
</span></td>
</tr>
<tr>
<td>E-Mail*<span class="required"></span></td>
<td><input name="usr_email" type="text" id="usr_email3" class="required email">
<span class="example">* Bitte eine gültige E-Mailadresse angebe</span><span class="example">n</span></td>
</tr>
<tr>
<td>Passwort*<span class="required"></span></td>
<td> <input name="pwd" type="password" class="required password" minlength="5" id="pwd">
<span class="example">** Mindestens 5 Zeichen</span></td>
</tr>
<tr>
<td>Passwort wiederholen*<span class="required"></span></td>
<td><input name="pwd2" id="pwd2" class="required password" type="password" minlength="5" equalto="#pwd"></td>
</tr>
</tr>
</table>
<p align="center"><strong>
<?
require_once('recaptchalib.php');
echo recaptcha_get_html($publickey);
?>
</strong>
<input name="doRegister" type="submit" id="doRegister" value="Registrieren">
<td> </td>
</p>
</form>
<p align="right"> </p>
</td>
</body>
</html>
PS: Das Copyright von dem Script hab ich rausgenommen, kommt aber auf die Homepage drauf!!
djlars
Kommentar