php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.12.2008, 14:44  
Neuer Benutzer
 
Registriert seit: 11.12.2008
Beiträge: 2
stheeke befindet sich auf einem aufstrebenden Ast
stheeke eine Nachricht über ICQ schicken
Standard (MySQL) Prüfen ob Einträge schon vorhanden ist

Huhu
Ich habe ein Problem und zwar habe ich ein Registrierformular erstellt ^^
Dort wird ein Username, eine E-Mail und ein Passwort zum registrieren benötig.
(Naja ist klar ) Das ganze sieht so aus :

PHP-Code:
<?php 
$connect_id 
mysql_connect("localhost""aufsicht" ,"PASSWORD") or die ("Keine Verbindung moeglich");  
mysql_select_db("aufsicht") or die ("Die Datenbank existiert nicht"); 


// Dient nur zur Sicherheit... auch bei $_GET anwendbar...
if( get_magic_quotes_gpc() )
{
    foreach(
$_POST as $key => $value)
    {
        
$_POST[$key] = mysql_real_escape_string(stripslashes($value), $connect_id);
    }
}
else
{
    foreach(
$_POST as $key => $value)
    {
        
$_POST[$key] = mysql_real_escape_string($value$connect_id);
    }    
}
// Ende der Sicherheit        

$test mysql_query("SELECT * FROM archiv_login WHERE _username='" mysql_real_escape_string($_POST['username']) . "'");
if(
mysql_num_rows($test) != 0)
    {
        echo 
'<font color="#FF0000">Dieser Username ist leider schon vergeben! Bitte wähle einen anderen!<br><br></font>';

} else if( 
$abschicken == ($_POST['username'] !="") ) {
    echo
"";
}
else {    

$_username $_POST['username']; 
$_passwort $_POST['passwort'];
$_email $_POST['email'];
if( isset(
$_POST['submit']) && !empty($_username) && !empty($_passwort) && !empty($_email) )
{
    
$sql "INSERT INTO archiv_login (_username, _passwort, _email) VALUES ('".$_username."', '"md5($_passwort)."', '".$_email."') "
    if( !
mysql_query($sql$connect_id) )
    {
        die(
"<b>SQL-Fehler!</b><br /><br />"mysql_errno() . " : " mysql_error() . "<br /><br /><i>" $sql "</i>");
    }

$body="Es hat sich ein User auf WEBSITE.de registriert:
Benutzername: $_username
E-Mail: $_email

Automatisch generierte E-Mail

"
;
   
$headers "From: sheeke@muenster.de \r\n";
$headers.= "Content-Type: text/html; charset=ISO-8859-1 ";
$headers .= "MIME-Version: 1.0 ";
/*notice there aren't any \r\n after the second two header additions. This is what made this version work correctly*/
mail("sheeke@muenster.de""Anmeldung auf WEBSITE.de"$body$headers);

    
$echo '<font color="#FF0000">Du bist jetzt registriert und kannst dich mit deinem Usernamen auf WEBSITE.de einloggen.<br><br></font><br>';
}
else if( isset(
$_POST['submit']) )
{
    
$echo '<br /><font color="#FF0000">Das Formular wurde nicht korrekt ausgefüllt bitte &uuml;berpr&uuml;fe die angegebenen Daten!<br><br></font><br />';
     
}

}
?>


<html> 
<head> 

</head> 



<br><br><br><br><br><center><h1>Smilie-Grube.de Registrierung</h1>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">  
<?=$echo?>
<TABLE>
 <TD>Gew&uuml;nschter Benutzername:  </TD> 
 <TD><input type="text" name="username" size="30" /> </TD> 
</TR> 
<TR> 
 <TD>Passwort:  </TD> 
 <TD><input type="password" name="passwort" size="30" /> </TD> 
</TR>
<TR> 
<TR> 
 <TD>E-Mail:  </TD> 
 <TD><input type="text" name="email" size="30" /> </TD> 
</TR>

</TABLE><br> 

<input type="submit" name="submit" value="Registrieren" /> </form></center>

</body> 
</html>
Naja funktioniert auch
Jetzt hab ich nur noch eine Frage:
Wie krieg ich es hin das nicht nur geprüft wird ob _username schon vorhanden ist sondern auch ob _email schon vorhanden ist ???
Versuch es schon seit 1 Tag ^^

Wär um jede Hilfe Dankbar
stheeke ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 11.12.2008, 14:46  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

In dem du das gleiche nochmal mit anderen Variablen machst?
cycap ist offline  
Alt 11.12.2008, 14:55  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Hmm, wenn man dir woanders nicht mehr helfen will, weil du nichts wirklich selbst macht, gehts dann aufs nächste Forum weiter ?
robo47 ist offline  
Alt 11.12.2008, 15:00  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

@robo47: link plz
cycap ist offline  
Alt 11.12.2008, 15:00  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Deine jetzige Lösung besteht aus zwei getrennten Abfragen. Dadurch ist sie anfällig für race conditions. Unter ungünstigen Umständen kann die SELECT * FROM archiv_login WHERE _username=... Abfrage von zwei Instanzen Deines Skripts parallel ausgeführt werden und darauf hin der gleiche Wert zwei Mal parallel eingefügt werden.
Wenn Du in der Datenbank für die Felder jeweils einen unique index anlegst, lässt MySQL keine doppelten Einträge mit den gleichen Werten zu. Bei einem INSERT mit bereits vorhandenen Daten bekommst Du einen entsprechenden Fehlerstatus zurück, den Du abtesten kannst.
David ist offline  
Alt 11.12.2008, 15:05  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Zitat:
Zitat von cycap Beitrag anzeigen
@robo47: link plz
register.php bei Sessionbares LoginSystem von Ben - Developer's Guide
robo47 ist offline  
Alt 11.12.2008, 15:18  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Alles klar, ich seh das genau so wie unsere Freunde bei developers-guide.net, nur das ich hier Mittel und Wege habe um dich zu bremsen.

Deshalb: Thread closed mit Verweis auf: http://www.php.de/php-einsteiger/489...rundlagen.html
cycap ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mysql Server Einstellunen Optimieren pchero Datenbanken 3 01.05.2007 19:50
Anzeigen wenn keine Einträge in Datenbank! c-bass PHP Tipps 2006 6 22.03.2006 13:49
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
Kein Zugriff über ODBC mit der IP-Adresse auf MySql DB Datenbanken 4 09.02.2006 11:04
[Erledigt] mysql: INSERT und wenn vorhanden UPDATE Datenbanken 7 07.01.2006 09:54
Prüfen ob Zahl in String vorhanden ist PHP Tipps 2005-2 9 07.09.2005 11:32
Prüfen ob Datensatz vorhanden PHP Tipps 2005-2 16 30.06.2005 11:00
Prüfen ob Benutzname schon vorhanden ist PHP Tipps 2005 6 06.02.2005 14:44
Einträge prüfen PHP Tipps 2005 4 11.01.2005 12:04
PHP Script - Serverstatus prüfen und in MySQL speichern! PHP-Fortgeschrittene 10 06.01.2005 17:44
Frage - JS ausführen -&amp;amp;amp;amp;amp;gt; neuer Eintrag in MySQL vorhanden. HTML, Usability und Barrierefreiheit 2 27.11.2004 22:11
[Erledigt] Mysql Abfrage Problem! PHP-Fortgeschrittene 5 27.11.2004 10:22
[Erledigt] MySQL Einträge zählen, aber wie? Datenbanken 6 20.07.2004 08:14
Einträge werden nicht Angezeigt (PHP & MySQL) PHP Tipps 2004 5 16.06.2004 10:47
Doppelte Einträge prüfen Datenbanken 12 15.06.2004 20:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-tipps-2008/49732-mysql-pruefen-ob-eintraege-schon-vorhanden-ist.html, php datenbank auf vorhandenen eintrag prüfen, mysql auf vorhandene einträge prüfen, mysql prüfen ob eintrag vorhanden, mysql prüfen ob eintrag schon vorhanden, daten auf doppelte einträge mysql überprüfen, mysql auf eintrag prüfen, mysql prüfen ob email schon existiert, mysql insert überprüfen, mysql insert doppelte prüfen, mysql auf bereits vorhandenen wert prüfen, mysql überprüfen ob eintrag vorhanden, ajax prüfen mysql prüfen, mysql vorhandenen eintrag prüfen, mysql abfragen username schon vorhanden, doctrine prüfen auf doppeleintrag, mysql update prüfen ob identische werte, mysql prüfen ob eintrag bereits vorhandenen, mysql testen auf datensatz, überprüfen ob $_post index existiert

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:28 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum