Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Eingabe Prüfung bei einer Registrierung

Diskussion: Eingabe Prüfung bei einer Registrierung im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Ich arbeite momentan an nem Registrierungs-script und wollt' jetzt zum Schluss noch einmal das script durchgehen , um es ...

Antwort
Alt 17.06.06, 12:39   #1 (permalink)
DaWeed
Guest
 
Likes:
Standard Eingabe Prüfung bei einer Registrierung

Anzeige

Ich arbeite momentan an nem Registrierungs-script und wollt' jetzt zum Schluss noch einmal das script durchgehen , um es auf evt. Fehler zu Prüfen.
Dabei ist mir aufgefallen , dass ich garkeine abfrage eingebaut habe , die überprüft ob der Name und die E-Mail addy bereits vorhanden sind.
natürlich würde ein Fehler von der MySQL Dantenbank angezeigt werden weil ich beide Tabellen-Felder als Unique gekennzeichnet habe , aber es würde doch ziemlich schlecht aussehen , wenn da ein MySQL Fehler ausgegeben wird.
Also wie kann ich dieses Problem mit PHP Lösen , sodass eine Mitteilung angezeigt wird , dass der jeweilige Benuztername bzw. die E-mail addy existiert??
Bis jetzt sieht das script so aus:

Code:
<?php
        error_reporting(E_ALL);
        include "config.php"; //config variabeln einbinden
mysql_connect("$db_host","$db_user","$db_pass") or DIE ("Keine Verbindung zur Datenbank m&ouml;glich");
mysql_select_db("$db_name") or DIE ("Die Datenbank existiert nicht");


$user = $_POST["UserName"];
$email = $_POST["UserMail"];
srand(microtime()*100000000);
$passwort = rand(154263,10848756);



   // Absicherung, dass die Datei auch über das Formular aufgerufen wurde
   if ($_POST['User'] ) {
       // Eingabeprüfung
   }   
   else {
       echo "bitte &uuml;berpr&uuml;fe deine Angaben.";
       exit();
    }

if ($_POST["UserName"]== "")
{
echo "<center>Bitte gebe einen Benutzernamen ein.</center>";
exit();
}
if ($_POST["UserMail"]== "")
{
echo "<center>Bitte gebe eine E-Mail Adresse ein.</center>";
exit();
}

$eintrag = "INSERT INTO User (UserID, UserName, UserMail, UserPass) VALUES ('$user','$email','$passwort')";

$eintragen = mysql_query($eintrag) or DIE ("MySQL-Fehler: " . mysql_error());

mysql_close();

$betreff ='www.Master of Empires.de';
$nachricht ="Hallo,

deine Benutzerdaten sind folgende:';

$user
$passwort

'Vielen Dank f&uuml;r die Registrierung auf Master of Empires.dehttp://hackerboard.de/images/bbcode_php.gif
PHP CODE farbig hervorheben! Du kannst dich nun mit den oben genannten Daten einloggen. Das Passwort kannst du im Spiel &auml;ndern.";
$header = 'From: noreply@mittleresZeitalter.de' . "\r\n" .
   'Reply-To: noreply@mittleresZeitalter.de' . "\r\n" .
   'X-Mailer: PHP/' . phpversion();

mail($email, $betreff, $nachricht, $header);

header ("Location: Login.php")
?>
  Mit Zitat antworten
Alt 17.06.06, 12:51   #2 (permalink)
 
Registriert seit: 20.07.05
CPU8080 Leistung: Facit NTK
CPU8080 eine Nachricht über ICQ schicken
Likes: 0
Standard

mach doch ne SQL Abfrage:

Code:
SELECT UserName, UserMail FROM User WHERE UserName=$user or UserMail=$passwort
und checkst du mit dem PHP Skript ob du einen Datensatz zurückbekommst
(
PHP-Code:
if ($row==mysql_fetch_assoc($sqlresult)) 
{
 echo
"User/Email existiert.";
} else { 
//und dann deine inserts und der Rest 
).

Du könntest es auch unelegant machen und anstatt
PHP-Code:
or DIE ("MySQL-Fehler: " mysql_error()); 
PHP-Code:
or DIE ("Ihre Emailadrrese oder Username ist schon vergeben"); 
Hierbei würde die Fehlermeldung bei allen möglichen Fehlern kommen wär ja nicht so wünschenswert


P.S. Lösch mal dein Passwort bitte aus deinemSkript
CPU8080 ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 17.06.06, 15:36   #3 (permalink)
DaWeed
Guest
 
Likes:
Standard

also so...

Code:
<?php
        error_reporting(E_ALL);
        include "config.php"; //config variabeln einbinden
mysql_connect("$db_host","$db_user","$db_pass") or DIE ("Keine Verbindung zur Datenbank m&ouml;glich");
mysql_select_db("$db_name") or DIE ("Die Datenbank existiert nicht");


$user = $_POST["UserName"];
$email = $_POST["UserMail"];
srand(microtime()*100000000);
$passwort = rand(154263,10848756);



   // Absicherung, dass die Datei auch über das Formular aufgerufen wurde
   if ($_POST['User'] ) {
       // Eingabeprüfung
   }   
   else {
       echo "bitte &uuml;berpr&uuml;fe deine Angaben.";
       exit();
    }

if ($_POST["UserName"]== "")
{
echo "<center>Bitte gebe einen Benutzernamen ein.</center>";
exit();
}
if ($_POST["UserMail"]== "")
{
echo "<center>Bitte gebe eine E-Mail Adresse ein.</center>";

$sqlresult= "Select UserName, UserMail FROM User WHERE UserName=$user or UserMail=$email";
if ($row==mysql_fetch_assoc($sqlresult))
{
echo "Username und/oder E-Mail Adresse exestiert/exestieren bereits.</n><br />";
echo "Bitte &auml;ndere deine Angaben";
} 
}
else
{                        
$eintrag = "INSERT INTO User (UserID, UserName, UserMail, UserPass) VALUES ('$user','$email','$passwort')";

$eintragen = mysql_query($eintrag) or DIE ("MySQL-Fehler: " . mysql_error());
}
exit()
mysql_close();

$betreff ='www.Master of Empires.de';
$nachricht ="Hallo,

deine Benutzerdaten sind folgende:';

$user
$passwort

'Vielen Dank f&uuml;r die Registrierung auf Master of Empires.dehttp://hackerboard.de/images/bbcode_php.gif
PHP CODE farbig hervorheben! Du kannst dich nun mit den oben genannten Daten einloggen. Das Passwort kannst du im Spiel &auml;ndern.";
$header = 'From: rider_on_the_storm@hotmail.de' . "\r\n" .
   'Reply-To: rider_on_the_storm@hotmail.de' . "\r\n" .
   'X-Mailer: PHP/' . phpversion();

mail($email, $betreff, $nachricht, $header);

header ("Location: Login.php")
?>
oder hab ich wieder nen fatal error erzeugt (ich würd ja selbst testen nur leider hat mein kumpl den server auf dem alles drauf is und der is nich angeschlossen UND ich kann den freund nich erreichen -.-)
  Mit Zitat antworten
Alt 17.06.06, 16:03   #4 (permalink)
 
Registriert seit: 20.07.05
CPU8080 Leistung: Facit NTK
CPU8080 eine Nachricht über ICQ schicken
Likes: 0
Standard

PHP-Code:
$user
$passwort 
da muss nen echo davor.
Fatal Error find ich net wirklich hab aber net so genau gesucht, nur überflogen.
Aber ich denke da hats nen "logischen" Fehler und zwar mit den if Abfragen.

ich würds so machen:

PHP-Code:
if ($_POST["UserName"]== "")
{
 echo 
"<center>Bitte gebe einen Benutzernamen ein.</center>";
 exit();
} elseif (
$_POST["UserMail"]== "")
      {
        echo 
"<center>Bitte gebe eine E-Mail Adresse ein.</center>"
        
$sqlresult"Select UserName, UserMail FROM User WHERE   
        UserName=$user or UserMail=$email"
;
      } elseif (
$row==mysql_fetch_assoc($sqlresult))
          {
           echo 
"User/Mail existiert(so schreibt mans^^)";
          } else {
                    
$eintrag "INSERT INTO User (UserID, UserName, UserMail,      
                    UserPass) VALUES ('$user','$email','$passwort')"
;

                    
$eintragen mysql_query($eintrag) or DIE ("MySQL-Fehler: "   
                    
mysql_error());
                   } 
Hoff hab jetzt kein Fehler gemacht^^

P.S: Zum HTML Part ich meine man benutzt nicht mehr so richtig <center> sondern macht es mit <div align="center">Text</div>
CPU8080 ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » Eingabe Prüfung bei einer Registrierung
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Eingabe In Einer .txt datei abspeichern?! Virus (Web-) Design und webbasierte Sprachen 10 06.07.07 20:19
FI Prüfung 2007 Oi!Alex HaBo Lounge 4 07.05.07 15:30
Mündliche Prüfung BloodEye HaBo Lounge 6 08.03.06 14:22
Prüfung 13.05 Informatikkauffmann Nicky20wx Off topic-Zone 1 28.05.03 15:15


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61