SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.12.2015, 10:22:53
DasNasu
Guest
 
Beiträge: n/a
registrierungsformular - email abfragen und vergleichen

Hi,

ich hab folgendes anliegen: ich möchte in einem registrierungsformular eine email auslesen, diese mit einer mysql-tabelle in einer mysql-datenbank vergleichen und ggf ausgeben lassen, das diese email schon vergeben ist. leider funktioniert meine umsetzung dieser idee nicht ganz wie gewünscht :c hoffe hier hat jemand ne idee wie ich folgenden code überredet bekomme wie gewünscht zu funktionieren.

PHP-Code:
<?php
    
if(isset($_POST['pname']) and isset($_POST['pemail']) and isset($_POST['pfirstname']) and isset($_POST['plastname']) and isset($_POST['pday']) and isset($_POST['pmonth']) and isset($_POST['pyear']) and isset($_POST['ppass']) and isset($_POST['pcpass'])){
        
$pbirthday strtotime($_POST['pday'].'-'.$_POST['pmonth'].'-'.$_POST['pyear']);
        
$ppass hash("sha512",$_POST['ppass']);
        
$pfirst $_POST['pfirstname'];
        
$plast $_POST['plastname'];
        
$timestamp mktime(000$_GET['month'], $_GET['pday'], $_GET['pyear']);
        if(
$ppass == hash("sha512",$_POST['pcpass'])) {
            
$pemail $_POST['pemail'];
            
$query mysql_query("SELECT * FROM Player WHERE pEmail = '$pemail'");
            if(!
$query) {
                 
$pname $_POST['pname'];
                 
$query mysql_query("SELECT * FROM Player WHERE pName = '$pname'");
                 if(!
$query) {
                     if(
mysql_query("INSERT INTO Player (pName,pEmail,pFirstname,pLastname,pBirthday,pPassword) VALUES ('$pname','$pemail','$pfirst','$plast','$timestamp','$ppass')")) {
                         echo 
'successful registered<br />';
                         echo 
$timestamp;
                         }
                         else { echo 
'could not insert'; }
                     }
                     else { echo 
'username schon vergeben'; }
                 }
                 else { echo 
'email schon vergeben'; }
             }
             else { echo 
'passwörter nicht identisch'; }
         }
    else {
    
// registrierungsformular
    
}
?>
anmerkung: die connect zur datenbank funktioniert, das registrierungsformular (hier der einfachheit halber einfach durch nen comment ersetzt) übermittelt alle korrekten werte, der code wird per include('filepath') eingebunden und wenn ich die "!" vor den "if(!$query)" entferne wird auch in die tabelle geschrieben. frage is jetz wie ich des umsetze, damit meine $query mir nen false oder nen true zurück gibt und nicht nur ne leere abfrage (weil genau das müsste es ja ergeben wenn bei email und user nichts gefunden wird, aber ne rückmeldung erfolgt die nicht true/false ist oder?). bin mal auf eure ideen gespannt c:

für den fall das jtz jemand kommt und meckert weil der code bissl sehr lang und uneingerückt is: die einrückung hat er beim kopieren aus notepad++ nicht übernommen :c und ich weiß nich wie man hier codespoiler erstellen kann :/
Mit Zitat antworten
  #2  
Alt 03.12.2015, 12:03:19
sysop sysop ist offline
Member
 
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
AW: registrierungsformular - email abfragen und vergleichen

Bitte Codetags verwenden, das kann man ja sonst nicht lesen.
__________________
Gruss sys ;-)
Ich möchte wie mein Grossvater sterben, lächelnd und schlafend, nicht schreiend und weinend, wie sein Beifahrer.
Mit Zitat antworten
  #3  
Alt 03.12.2015, 13:54:55
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: registrierungsformular - email abfragen und vergleichen

PHP-Code:
error_reporting(-1);   
ini_set('display_errors'TRUE); 
Schalte die Fehleranzeige ein bzw. höher!
Benutze keine geschützen Wörter als Variablennamen o.ä.

Benutze statt MySQL nur noch MySQLi. Lass Dir auch MySQLi-Fehler anzeigen.

Berichtige Deine Fehler ($_GET im Formular, $_GET['month'] gibt es nicht - auch nicht als $_POST, usw.). Übernimm nicht ungeprüft Formulareingaben!

Lass Dir Deine $query vor der Ausführung anzeigen, um zu prüfen ob die Varaiblen richtig übernommen wurden. Prüfe die Query ggf. via phpMyAdmin auf Funktionstüchtigkeit.

Wenn Du dann noch Probleme hats, bist Du mit Deinem aktuellen Code hier wieder richtig.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #4  
Alt 03.12.2015, 17:32:35
DasNasu
Guest
 
Beiträge: n/a
AW: registrierungsformular - email abfragen und vergleichen

Zitat:
Zitat von DasNasu Beitrag anzeigen
für den fall das jtz jemand kommt und meckert weil der code bissl sehr lang und uneingerückt is: die einrückung hat er beim kopieren aus notepad++ nicht übernommen :c und ich weiß nich wie man hier codespoiler erstellen kann :/
Zitat:
Zitat von sysop Beitrag anzeigen
Bitte Codetags verwenden, das kann man ja sonst nicht lesen.
Jupp... danke...

Zitat:
Zitat von vt1816 Beitrag anzeigen
Schalte die Fehleranzeige ein bzw. höher!
hab ich nie deaktiviert
Zitat:
Zitat von vt1816 Beitrag anzeigen
Benutze keine geschützen Wörter als Variablennamen o.ä.
funktioniert aber ;) werde ich aber dennoch der übersichtlichkeit halber mal ändern.
Zitat:
Zitat von vt1816 Beitrag anzeigen
Benutze statt MySQL nur noch MySQLi. Lass Dir auch MySQLi-Fehler anzeigen.
funtzt bei mir nicht da mein hoster phpmyadmin noch nicht aktualisiert hat... und ja schon getestet
Zitat:
Zitat von vt1816 Beitrag anzeigen
Berichtige Deine Fehler ($_GET im Formular, $_GET['month'] gibt es nicht - auch nicht als $_POST, usw.). Übernimm nicht ungeprüft Formulareingaben!
du kennst mein <form> nicht, was lässt dich wissen das ich nichts getten kann? aber stimmt schon, ich gette nichts, war nen flüchtigkeitsfehler. sollte der funktionalität für die mysql abfrage nach der email aber nichts tun oder? :o
Mit Zitat antworten
  #5  
Alt 03.12.2015, 21:40:39
DasNasu
Guest
 
Beiträge: n/a
AW: registrierungsformular - email abfragen und vergleichen

Jut hab mein problem jetz mit mysql_num_rows gelöst ;)

PHP-Code:
if(isset($_POST['pname']) and isset($_POST['pemail']) and isset($_POST['pfirstname']) and isset($_POST['plastname']) and isset($_POST['pday']) and isset($_POST['pmonth']) and isset($_POST['pyear']) and isset($_POST['ppass']) and isset($_POST['pcpass'])){
        
$pbirthday strtotime($_POST['pday'].'-'.$_POST['pmonth'].'-'.$_POST['pyear']);
        
$ppass hash("sha512",$_POST['ppass']);
        
$pfirst $_POST['pfirstname'];
        
$plast $_POST['plastname'];
        
$timestamp mktime(000$_POST['pmonth'], $_POST['pday'], $_POST['pyear']);
        if(
$ppass == hash("sha512",$_POST['pcpass'])) {
            
$pemail $_POST['pemail'];
            
$mdo mysql_query("SELECT * FROM Player WHERE pEmail = '$pemail'");
            if(
mysql_num_rows($mdo) <= 0) {
                
$pname $_POST['pname'];
                
$mdo mysql_query("SELECT * FROM Player WHERE pName = '$pname'");
                if(
mysql_num_rows($mdo) <= 0)    {
                    if(
mysql_query("INSERT INTO Player (pName,pEmail,pFirstname,pLastname,pBirthday,pPassword) VALUES ('$pname','$pemail','$pfirst','$plast','$timestamp','$ppass')")) {
                        echo 
'successful registered<br />';
                        echo 
$timestamp;
                    }
                    else { echo 
'could not insert'; }
                }
                else { echo 
'username schon vergeben'; }
            }
            else { echo 
'email schon vergeben'; }
        }
        else { echo 
'passwörter nicht identisch'; }
    }
    else { 
Mit Zitat antworten
  #6  
Alt 04.12.2015, 15:22:07
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: registrierungsformular - email abfragen und vergleichen

  1. mysql_num_rows <= 0, nenne mir bitte ein Beispiel wann der Wert negativ werden kann.
  2. MySQL - Die Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wird in der Zukunft entfernt werden. Verwende stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Spätestens wenn der Hoster Deines Vertrauen ein Update macht, fliegen Dir die Sachen um die Ohren und hat auch nichts mit phpmyadmin zu tun.
  3. "hab ich nie deaktiviert" - zeugt von Unkenntnis
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
Antwort

Stichworte
mysql, php, registrierungsformular


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[MySQL] IF / CASE: mehrere Werte abfragen Zeussi MySQLi/PDO/(MySQL) 2 01.08.2009 16:44:53
Probleme mit email header JuliusCaesar PHP Grundlagen 12 05.07.2008 19:30:15
eMail check vor dem absenden Kaldoran PHP Grundlagen 5 25.06.2006 23:08:22
Inhalt von 2 Abfragen vergleichen koerschgen2001 PHP Grundlagen 8 08.02.2006 16:33:22
aus php-seite neue outlook email erzeugen Candyman PHP für Fortgeschrittene und Experten 10 30.05.2005 12:08:55


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


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt