Also:
Ich hab mich jetz mal hingesetzt und ein wenig geschrieben:
Sieht doch schon viel besser aus, oder?:
<?php
error_reporting(E_ALL);
//Erst mal die von PHP-Escapten Variablen zurück"verwandeln"
//stripslashes auch in Arrays ausfuehren...
function array_stripslashes(&$var){
if(is_string($var)) {
$var=stripslashes($var);
} elseif(is_array($var)) {
foreach($var AS $key => $wert) {
array_stripslashes($var[$key]);
}
}
}
//Alle von PHP gesetzten Backslashes entfernen
if((function_exists('get_magic_quotes_gpc') AND get_magic_quotes_gpc()) OR
(ini_get('magic_quotes_sybase') AND (strtolower(ini_get('magic_quotes_sybase'))!="off"))){
array_stripslashes($_GET);
array_stripslashes($_POST);
}
//Bereits hier definieren wir die Funktion, die Passwoerter generiert.
# Ein Passwort der Laenge (int) $length erzeugen
## Rueckgabewerte: string|false
## Version 10.01.04.20
function create_pwd ($length){
//Die Zeichen aus der Variable $charset koennen im Passwort vorkommen.
$charset=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
'1','2','3','4','5','6','7','8','9','0','!','$','%','(',')','{','}','[',']','=','?','+','*','#','-','_','.',',',';',':','/');
$count=count($charset);
$pwd='';
$limit=$count-1;
for($i=0;$i<$length;$i++){
$key=mt_rand(0,$limit);
$pwd.=$charset[$key];
}
return $pwd;
}
echo '<html>
<head>
<style type="text/css">
.background {
background-color: #000000;
color: #00bbaa;
width: 100%;
height: 100%;
font-family: Comic Sans MS;
}
a {
color: #00000f;
text-decoration: none;
}
a:hover {
color: #00bbaa;
}
.rahmen {
border-style: solid;
border-color: #00bbaa;
padding: 0px;
margin: 0px;
}
a.back {
color: #ffffff;
margin: 10px;
text-align: right;
}
a.back:hover {
color: #00bbaa;
text-align: left;
}
a.back:visited {
color: #ff0000;
margin: 20px;
}
a.back:visited:hover {
color: #00bbaa;
margin: 20px;
}
</style>
<title>
Carpfishingforever.de | Registrierung
</title>
</head>
<body bgcolor= "gray">
<div class= "rahmen">
<div class="background">
<center>
<b>
<br>
<font size="6">
Registrierung
</font>
</b><br><br>';
if(!isset($_POST['vorname'], $_POST['nachname']) OR strlen(trim($_POST['vorname']))<3 OR strlen(trim($_POST['nachname']))<3){
echo 'Sie haben den Namen vergessen!';
} elseif(!isset($_POST['e-mail']) OR strlen(trim($_POST['e-mail']))<5){
echo 'Bitte tragen Sie die E-Mail Adresse ein!';
} elseif(!isset($_POST['strasse']) OR strlen(trim($_POST['strasse']))<2) {
echo 'Bitte geben Sie Ihre Straße an!';
} elseif(!isset($_POST['hausnummer']) OR !is_numeric($_POST['hausnummer']) OR $_POST['hausnummer']<1) {
echo 'Bitte geben Sie Ihre Hausnummer an!';
} elseif(!isset($_POST['plz']) OR !is_numeric($_POST['plz']) OR $_POST['plz']<1) {
echo 'Bitte geben Sie Ihre Postleitzahl an!';
} elseif(!isset($_POST['ort']) OR strlen(trim($_POST['ort']))<2) {
echo 'Bitte geben Sie Ihren Wohnort an!';
} elseif(!isset($_POST['agbs']) {
echo 'Bitte akteptieren Sie die AGBs!';
} else {
//Ab hier passt alles, aber noch htmlentities anwenden!
// htmlspecialchars wandelt nur Anfuehrungszeichen um,
// htmlentities aber wirklich alles, also auch ä,ü,ö,ß und so weiter...
$vorname = htmlentities($_POST['vorname'], ENT_QUOTES);
$nachname = htmlentities($_POST['nachname'], ENT_QUOTES);
$email = htmlentities($_POST['e-mail'], ENT_QUOTES);
$strasse = htmlentities($_POST['strasse'], ENT_QUOTES);
$hausnummer= (int) $_POST['hausnummer']; //(int) Konvertiert in Integer
$plz = (int) $_POST['plz']; //(int) Konvertiert in Integer
$ort = htmlentities($_POST['ort'], ENT_QUOTES);
//Erstmal zur Datenbank verbinden... (Das Passwort und so musst du eintragen )
define('MYSQL_ADDR', '127.0.0.1');
define('MYSQL_USER', 'root');
define('MYSQL_PASS', 'passwort');
define('MYSQL_DATABASE', 'datenbank');
if(!mysql_connect(MYSQL_ADDR, MYSQL_USER, MYSQL_PASS)){
echo 'Konnte nicht mit der Datenbank verbinden. '.mysql_error();
} elseif(!mysql_select_db(MYSQL_DATABASE)){
echo 'Konnte die Datenbank nicht auswählen. '.mysql_error();
} else {
//Jetzt sind wir mit der Datenbank verbunden und koennen dort eintragen...
//Jetzt generieren wir ein Passwort. Die Funktion wurde bereits ganz oben definiert.
$passwort = create_pwd(10);
//Um den mysql_query-Befehl nicht so unübersichtlich zu gestalten speichern wir den Befehl erst mal zwischen...
//Auch das Passwort wird hier schon eingetragen...
$sql='INSERT INTO
CFE-Datenbank
(vorname, nachname, strasse, hausnummer, e-mail, plz, ort, passwort, datum)
VALUES
("'.$vorname.'",
"'.$nachname.'",
"'.$strasse.'",
"'.$hausnummer.'",
"'.$email.'",
"'.$plz.'",
"'.$ort.'",
"'.$passwort.'",
"'.time().'")';
//Ich habe noch das Datum eingefuegt, weil das immer interessant sein kann...
//Jetzt fuehren wir den Befehl aus...
if(mysql_query($sql)){
//Erst wenn wir eingetragen haben schicken wir die Mail mit dem Passwort...
$empfaenger = $email;
$betreff = 'Carpfishingforever - Ihr Passwort';
//Bei der Nachricht nicht einrücken, da das sonst in der Mail auch so ist!
$nachricht = 'Guten Tag '.$vorname.' '.$nachname.',
hiermit erhalten Sie Ihr Passwort für Carpfishingforever.de. Es lautet '.$passwort.'
bitte merken Sie es sich oder schreiben es irgendwo auf.
MfG Carpfishingforever.de';
$header = 'From: Fiedler.Oliver@web.de' . "\r\n" .
'Reply-To: Fiedler.Oliver@web.de' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
if(!mail($empfaenger, $betreff, $nachricht, $header)){
echo 'Ihr Passwort konnte leider nicht versendet werden. Bitte kontaktieren Sie den Webmaster.<br><br>';
}
echo 'Vielen Dank, sie sind jetzt registriert.
<br>
Ihnen wird in Kürze ein Passwort zugesandt.';
} else {
echo 'Registrieren aufgrund technischer Probleme zur Zeit nicht möglich. '.mysql_error();
}
}
}
echo '</center>
<br>
<br>
<br>
<br>
<p align= "right">
<a href= "regist.html" class= "back" alt= "Sers"> Zurück </a>
</p>
</div>
</div>
</body>
</html>';
?>
Das Script beinhaltet auch noch einen Passwortgenerator.
Müsste eigentlich funzen, oder?
Mfg
[C]arp[h]unter