php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 04-05-2012, 15:16
Recno
 Registrierter Benutzer
Links : Onlinestatus : Recno ist offline
Registriert seit: May 2012
Beiträge: 5
Recno befindet sich auf einem aufstrebenden Ast
Standard Registrierungs Skript klappt nicht

Hey liebe Community,
ich habe ein Problem mit der Registrierung. Für ein Informatikprojekt sollte ich die langsam mal fertig bekommen aber ich hab mir schon etliche vorlagen und tutorials angesehen und jetzt habe ich einen komplett alleine geschrieben weil die anderen nichts gebracht haben. Eine Datenbank habe ich auch erstellt mit den passenden feldern. Ich poste mal den Skript. Ich hoffe ihr könnt mir helfen
LG Recno
Angehängte Dateien
Dateityp: php absenden7.php (2,8 KB, 108x aufgerufen)
Mit Zitat antworten
  #2 (permalink)  
Alt 04-05-2012, 15:18
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.724
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Sorry, aber wir sind hier nicht dazu da, deinen Hausaufgaben zu machen. Also poste bitte relevaten Code mit einer sauberen Fehlerbeschreibung.

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 04-05-2012, 15:23
Recno
 Registrierter Benutzer
Links : Onlinestatus : Recno ist offline
Registriert seit: May 2012
Beiträge: 5
Recno befindet sich auf einem aufstrebenden Ast
Standard

Das sind nicht meine Hausaufgaben und ich weiß nicht was ich für Fehler da drin habe. Ich hab selber nach Fehlern gesucht und habe keine gefunden, ich weiß auch nicht, ob ich vielleicht einen Befehl etc. vergessen habe deswegen frage ich ja ob etwas an meinem Skript fehlt.
Mit Zitat antworten
  #4 (permalink)  
Alt 04-05-2012, 15:25
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.724
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Recno Beitrag anzeigen
...deswegen frage ich ja ob etwas an meinem Skript fehlt.
Dann sag das doch gleich. Ich schaue es mir mal heute Abend an.

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #5 (permalink)  
Alt 04-05-2012, 15:27
Recno
 Registrierter Benutzer
Links : Onlinestatus : Recno ist offline
Registriert seit: May 2012
Beiträge: 5
Recno befindet sich auf einem aufstrebenden Ast
Standard

ok danke ;D ich dachte das wäre eindeutig ich will ja keinen skript einfach so kopieren ^^
Mit Zitat antworten
  #6 (permalink)  
Alt 04-05-2012, 19:59
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.724
Kropff befindet sich auf einem aufstrebenden Ast
Standard

So, ich habs mir mal eben angeschaut und mir ist Folgendes aufgefallen:

1. Die ganzen elseif sind imho nicht so prickelnd, da du nur immer nur eine(!) Prüfung vornimmst. Arbeite damit nur pro POST-Wert.

2. Benutze auch bei einzeiligen Bedingsanweisungen geschweifte Klammern. Ansonsten kann das leicht zu Fehlern führen.

3. Arbeite mit mysql_real_escape_string, um SQL-Injections zu vermeiden.

4. Arbeite am Besten gar nicht mehr mit der veralteten MySQL-Erweiterung sondern nutze MySQLi oder noch besser PDO.

5. Die in_array-Prüfung ist Tinnef, da du nur ein leeres Array hast. Starte statt dessen die Abfrage (SELECT id FROM register...), wenn der Benutzername syntaktisch korrekt ist und prüfe dann, ob schon so ein Eintrag vorhanden ist.

6. Das gilt besonders für die Überprüfung auf eine schon vorhandene E-Mail. Das in_array ist auch hier überflüssig wie ein Kropf(f). Zumal du da noch nicht mal eine SQL-Abfrage startest.

7. Der regexp für die E-Mail sieht auf den ersten Blick imho nicht ganz koscher aus. habs aber nicht überprüft. Bist du sicher, dass der stimmt?

Gruß
Peter

PS: Wenn es eine Hausaufgabe wäre, hätte ich dir bestenfalls eine 4+ gegeben.
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #7 (permalink)  
Alt 04-05-2012, 21:04
Recno
 Registrierter Benutzer
Links : Onlinestatus : Recno ist offline
Registriert seit: May 2012
Beiträge: 5
Recno befindet sich auf einem aufstrebenden Ast
Standard

danke, dass du mal durchgeguckt hast, aber ich hab noch ein paar fragen:
zu 1.: soll ich da else { if{ ...}} machen oder wie meinste das?
zu 3.: wo soll ich das mysql_real_escape_string denn einbinden? hab mir ma grade durchgelesen, was das bringt aber ich verstehe es nicht so ganz
zu 4.: wo soll ich den MySQLi benutzen? Beim Einbinden in die Datenbank?
zu 5.: also kann ich dann $nickname = array(); $mail = array(); weglassen und bei "in_array einfach das was du geschrieben hast einfügen??
zu 7.: meinst du "(!preg_match('§^[\w\.-]+@[\w\.-]+\.[\w]{2,4}$§', ($email)))"?, wenn ja: ich hab die nur iwo von ner seite kopiert weil ich nicht weiß, wie ich das schreiben soll.

Hoffe du kannst mir nochmal helfen vielleicht könntest du ja an meine angehängte php datei mal ein paar kommis dranschreiben und nochmal anhängen oder so danke schon mal im voraus
Mit Zitat antworten
  #8 (permalink)  
Alt 04-05-2012, 21:28
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.724
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Recno Beitrag anzeigen
zu 1.: soll ich da else { if{ ...}} machen oder wie meinste das?
Ups sorry. Habe da eben was übersehen. Punkt 1 ist OK.
Zitat:
Zitat von Recno Beitrag anzeigen
zu 3.: wo soll ich das mysql_real_escape_string denn einbinden? hab mir ma grade durchgelesen, was das bringt aber ich verstehe es nicht so ganz
Bei allen SQL-Statements. Also z.B:
PHP-Code:
$ergebnis 'SELECT id FROM register WHERE username = "'.mysql_real_escape_string($username).'"'
Siehe auch hier.
Zitat:
Zitat von Recno Beitrag anzeigen
zu 4.: wo soll ich den MySQLi benutzen? Beim Einbinden in die Datenbank?
MySQLi
PDO
Zitat:
Zitat von Recno Beitrag anzeigen
zu 5.: also kann ich dann $nickname = array(); $mail = array(); weglassen und bei "in_array einfach das was du geschrieben hast einfügen??
Nein. Anstelle des in_array baust du dort eine SQL-Abfrage mit entsprechender Prüfung ein.
Zitat:
Zitat von Recno Beitrag anzeigen
zu 7.: meinst du "(!preg_match('§^[\w\.-]+@[\w\.-]+\.[\w]{2,4}$§', ($email)))"?, wenn ja: ich hab die nur iwo von ner seite kopiert weil ich nicht weiß, wie ich das schreiben soll.
Da geht es um reguläre Ausdrücke und das ist ganz heftiger Tobak. Da solltest du dich als Anfänger wirklich auf Codeschnipsel beschränken. Such ggf. mal nach möglichst aktuellen Scripten, da mittlerweile auch Umlaute in Domains gestattet sind.

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #9 (permalink)  
Alt 04-05-2012, 21:49
Recno
 Registrierter Benutzer
Links : Onlinestatus : Recno ist offline
Registriert seit: May 2012
Beiträge: 5
Recno befindet sich auf einem aufstrebenden Ast
Standard

ok danke jetzt hab ich fast alles verstanden, hab jetzt aber bei erstens schon:
else
{
if (strlen($_POST['password'] == <5 || >15))
{
echo 'Das Passwort darf nur 5-15 Zeichen haben.';
}
}
aber das sollte auch gehen oder?

nochmal zu 5. : soll ich dann die $nickname = array() lassen und einfach:
else
{
select id from register where username/email ...
}
oder soll ich die if-schleife auch lassen?
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
datenbank, mysql, php, registrierung


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Weiterleitung klappt nicht! Revolverheld PHP Developer Forum 2 16-03-2007 20:02
Bilderupload klappt nicht!? Revolverheld Projekthilfe 5 05-03-2007 15:32
UPDATE klappt nicht uemit1981 PHP Developer Forum 9 16-08-2006 16:09
fopen/fread klappt nicht - Datei lässt sich nicht öffnen/lesen DerDilettant PHP Developer Forum 4 29-11-2005 22:47
Auktionshaus klappt nicht scoobo Projekthilfe 3 25-09-2004 15:18

Themen-Optionen
Thema bewerten
Thema bewerten:

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 are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:50 Uhr.