php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.09.2005, 16:45  
Gast
 
Beiträge: n/a
Standard [Erledigt] Loginscript ----> Registrierung.

Ich habe für mein Loginscript eine Registrierung geschrieben, die einen neuen Benutzer auf der Datenbank anlegen soll und ein Passwort erstellen soll.

Das Script sieht wie folgt aus:

PHP-Code:
<?php

$content 
'<html>
<head><title>DunkleSeelen</title></head>
<body bgcolor="#336699">
<h1>
    <center>
            [img]logo_de.gif[/img]
            

            <font color="#6699ff">EX</font><font color="#ff0000">CHANGE</font>
    </center>
</h1>




<hr>

'
;

//header Adresse

$Adresse ='http://www.fragglechen.de/login/register.php?fehler=1';

//Passwort generieren Funktion

function makepw($pwl){
   
srand((double)microtime()*1000000);
   
$c "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
   
$pw "";
   while (
strlen($pw) < $pwl$pw .= substr($c, (rand() % (strlen($c))),1);
   return 
$pw;
}

// Datenbankverbindung aufbauen
$connectionid mysql_connect ("localhost""<mein benutzer>""<meinpasswort>");
if (! 
mysql_select_db ("usr_web1_1"$connectionid))
{
  die (
"Keine Verbindung zur Datenbank"); # Hier isses egal, weil das Script stirbt
}

$sql "SELECT ".
    
"Id, Nickname, Nachname, Vorname ".
  
"FROM ".
    
"benutzerdaten ".

  
"WHERE ".
    
"(Nickname like '".$_REQUEST["nick"]."') OR ".
    
"(Email = '".$_REQUEST["Email"]."')";
$result mysql_query ($sql);

if (
mysql_num_rows ($result) > 0)
{
   
header ('Location: ' .$Adresse);
   exit;
}
else
{
   
$temppw makepw(6);

   
$mail $_REQUEST["Email"];
   
$wunschnick $_REQUEST["nick"];
   
$realvorname $_REQUEST["vorname"];
   
$realname $_REQUEST["name"];
   
$betreff "Deine Registrierung bei DunkleSeelen";
   
$text "Hallo " .$realvorname",\nDu hast dich erfolgreich bei DunkleSeelen registriert.\n\nDeine Logindaten:\n
   Username: " 
.$wunschnick"\n
   Passwort: " 
.$temppw" \n\n
   Du kannst dich jetzt unter [url]http://login.fragglechen.de[/url] einloggen."
;
   
$absender "FROM:noreply@fragglechen.de";



   
$sql "INSERT INTO ".
    
"benutzerdaten (Nickname, Kennwort,Email, Nachname, Vorname) ".
  
"VALUES ('".$wunschnick."', '".
                       
md5 ($temppw)."', '".
                       
$mail."','".
                       
$realname."', '".
                       
$realvorname."')";
  
mysql_query ($sql);

  if (
mysql_affected_rows ($connectionid) > 0)
  {
      
$content .= "<h3><center>Benutzer erfolgreich angelegt.</center></h3>
\n"
;
      
mail ($mail,$betreff,$text,$absender);
  }
  else
  {
      
$content .= "<h3><center>Fehler beim Anlegen der Benutzer.</center></h3>
\n"
;
  }
}

$content .= '
<center>[url="forums.html"]zum Login[/url]</center></body>
</html>'
;

# Bis hier wurde erst mal alles in der Variablen $content gespeichert, aber
# noch kein Byte Content ausgegeben.

print $content;

?>


?>

Wenn ich die daten eintrage und abschicke bekomme ich folgenden Fehler:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /srv/www/web1/html/login/register2.php on line 49

Was ist der Fehler?
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 03.09.2005, 18:25  
Gast
 
Beiträge: n/a
Standard

das problem ist, dass deine $query nicht funktioniert.
schrieb mal hinter deine "mysql_query($sql)" ein "or die(mysql_error());"

du brauchst da nich dauernd aus deinen quotations raus gehen, nur weil du einen Zeielnumbruch machst

poste mal den Fehler, aber ich würde wetten, dass er Probleme kriegt mit den Anführungszeichen in den Request-Arrays....
  Mit Zitat antworten
Alt 03.09.2005, 19:56  
Gast
 
Beiträge: n/a
Standard

Ok dieses Problem lag an meiner Eigenen Blödheit.
Ich hatte in der Tabelle vergessen die spalte email anzulegen.

Das hab ich nachgeholt und den Code ein wenig verändert:
PHP-Code:

$sql 
"SELECT ".
    
"Id, Nickname, mail,  Nachname, Vorname,  ".
  
"FROM ".
    
"benutzerdaten ".

  
"WHERE ".
    
"(Nickname like '".$_REQUEST["nick"]."') OR ".
    
"(mail = '".$_REQUEST["Email"]."')";
$result mysql_query ($sql) or die(mysql_error());

?> 
Nun bekomm ich nen Sytax Error.

You have an error in your SQL syntax near 'FROM benutzerdaten WHERE (Nickname like 'Fraggle') OR (mail = 'Uwe.Meisel@t-onli' at line 1

Ich find ihn nich. Entweder bin ich zu unkonzentriert oder zu blöd
  Mit Zitat antworten
Alt 04.09.2005, 14:01  
Gast
 
Beiträge: n/a
Standard

Kann mir einer Sagen wo da der syntaxx Fehler ist? ich seh keinen
  Mit Zitat antworten
Alt 04.09.2005, 14:13  
Gast
 
Beiträge: n/a
Standard

da is ein Komma nach Vorname zu viel
schriebs am besten so:

PHP-Code:
<?
$sql 
"SELECT 
           Id, Nickname, mail,  Nachname, Vorname //<--- da war der Fehler
           FROM
           benutzerdaten
           WHERE
           (Nickname like '"
.$_REQUEST["nick"]."') OR
           (mail = '"
.$_REQUEST["Email"]."')";
$result mysql_query ($sql) or die(mysql_error());

?>
Naturlich ohne dieses "//<-- da war der Fehler"
  Mit Zitat antworten
Alt 04.09.2005, 14:16  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Warum so umständlich?
PHP-Code:
<?php
$sql 
"SELECT
              Id, Nickname, mail, Nachname, Vorname
        FROM
              benutzerdaten
        WHERE
              Nickname LIKE '" 
$_REQUEST['nick'] . "' OR
              mail = '" 
$_REQUEST['Email'] . "'
        "
;
        
$result mysql_query($sql)
        or die( 
mysql_error() );
?>
// edit genau wie JOjo sagt ^^
Chr!s ist offline   Mit Zitat antworten
Alt 05.09.2005, 22:51  
Gast
 
Beiträge: n/a
Standard

Ihr seht mit MySQL kenn ich mich noch nicht so aus und so will es aber lernen.

also danke den Fehler hab ich jetzt bereinigt. Trotzdem wird aus irgendeinem Grund der Benutzer nicht angelegt sondern er geht in den Fehler Zweig (Fehler beim anlegen des Benutzers)..

Warum?


PHP-Code:

<?php

$content 
'<html>
<head><title>ICEFIGHTER-Exchange</title></head>
<body bgcolor="#336699">
<h1>
    <center>
            [img]logo_de.gif[/img]
            

            <font color="#6699ff">EX</font><font color="#ff0000">CHANGE</font>
    </center>
</h1>




<hr>

'
;

//header Adresse

$Adresse ='http://www.fragglechen.de/login/register.php?fehler=1';

//Passwort generieren Funktion

function makepw($pwl){
   
srand((double)microtime()*1000000);
   
$c "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
   
$pw "";
   while (
strlen($pw) < $pwl$pw .= substr($c, (rand() % (strlen($c))),1);
   return 
$pw;
}

// Datenbankverbindung aufbauen
$connectionid mysql_connect ("localhost""web1""labormaus0");
if (! 
mysql_select_db ("usr_web1_1"$connectionid))
{
  die (
"Keine Verbindung zur Datenbank"); # Hier isses egal, weil das Script stirbt
}

$sql "SELECT ".
    
"Id, Nickname, Nachname, Vorname  ".
  
"FROM ".
    
"benutzerdaten ".
   
"WHERE ".
    
"(Nickname like '".$_REQUEST["nick"]."') OR ".
    
"(mail = '".$_REQUEST["Email"]."')";
$result mysql_query ($sql) or die(mysql_error());

if (
mysql_num_rows ($result) > 0)
{
   
header ('Location: ' .$Adresse);
   exit;
}
else
{
   
$temppw makepw(6);

   
$mail $_REQUEST["Email"];
   
$wunschnick $_REQUEST["nick"];
   
$realvorname $_REQUEST["vorname"];
   
$realname $_REQUEST["name"];
   
$betreff "Deine Registrierung bei ICEFIGHTER-Exchange";
   
$text "Hallo " .$realvorname",\nDu hast dich erfolgreich bei Icefighter Exchange registriert.\n\nDeine Logindaten:\n
   Username: " 
.$wunschnick"\n
   Passwort: " 
.$temppw" \n\n
   Du kannst dich jetzt unter [url]http://login.fragglechen.de[/url] einloggen."
;
   
$absender "FROM:noreply@fragglechen.de";


   
$sql "INSERT INTO ".
    
"benutzerdaten (Nickname, Kennwort,Email, Nachname, Vorname) ".
  
"VALUES ('".$wunschnick."', '".
                       
md5 ($temppw)."', '".
                       
$mail."','".
                       
$realname."', '".
                       
$realvorname."')";
  
mysql_query ($sql);
  
  if (
mysql_affected_rows ($connectionid) > 0)
  {
      
$content .= "<h3><center>Benutzer erfolgreich angelegt.</center></h3>
\n"
;
      
mail ($mail,$betreff,$text,$absender);
  }
  else
  {
      
$content .= "<h3><center>Fehler beim Anlegen der Benutzer.</center></h3>
\n"
;
  }
}

$content .= '
<center>[url="index.php"]zum Login[/url]</center></body>
</html>'
;

# Bis hier wurde erst mal alles in der Variablen $content gespeichert, aber
# noch kein Byte Content ausgegeben.

print $content;

?>

?>
  Mit Zitat antworten
Alt 06.09.2005, 16:47  
Gast
 
Beiträge: n/a
Standard

warum schreibst du hinter deinje 2. query nicht auch "or die(mysql_error());" und guckst, was passiert?

Und wenn du doppelte Anführuingszeichen benutzt brauchst du nicht raus zu gehen, um Variablenwerte einzusetzten:

PHP-Code:
<?
   $sql 
"INSERT INTO "
    
"benutzerdaten (Nickname, Kennwort,Email, Nachname, Vorname) "
  
"VALUES ('$wunschnick', 
                       '"
.md5 ($temppw)."', 
                       '$mail', 
                       '$realname', 
                       '$realvorname')"

?>
ps: beim nächsten Mal bitte nur die relevante Codestelle liefern... danke
  Mit Zitat antworten
Antwort


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
Loginscript mit Freischaltcode per mail Jumper PHP Tipps 2008 7 29.10.2009 12:11
Loginscript Benjamin PHP Tipps 2006 13 08.11.2006 03:13
Sessionfehler im Loginscript NielsM. PHP Tipps 2006 43 20.07.2006 17:37
Registrierung eines neuen Users über schon vorhandene PHP Tipps 2006 9 12.02.2006 15:27
[Erledigt] Registrierung und Login Datenbanken 4 06.02.2006 08:36
phpBB Loginscript in eigenes Login Script einbinden 2wuck PHP Tipps 2007 4 19.12.2005 23:10
brauche hilfe bei einem loginscript DaronM PHP Tipps 2007 12 27.11.2005 18:36
Problem mit dem Loginscript PHP Tipps 2005-2 4 29.10.2005 10:26
Problem mit Loginscript, kann mich nicht einloggen PHP Tipps 2005-2 3 01.10.2005 17:32
Fehler in Loginscript PHP Tipps 2005-2 12 16.08.2005 19:57
Kontrolle bei Registrierung: Nickname schon vergeeben??? PHP Tipps 2005-2 2 28.06.2005 08:56
loginscript mit rechten faultier Beitragsarchiv 3 24.06.2005 11:15
Fehler bei meinem Loginscript PHP Tipps 2005-2 6 05.06.2005 16:37
md5 verschlüsseltes paswort und loginscript... PHP Tipps 2005 24 15.02.2005 08:51
[Erledigt] Fehler bei einem Loginscript. Datenbanken 4 06.08.2004 01:02

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
srand ((double)microtime()*1000000); while(strlen($c) < 5) { $c .= rand(0,9); }, registrierung login script, php code email registrierung datenbank, php script für registrierung, loginscript registrierung, login script keine verbindung zur datenbank, php registrierung und login script, registrierungseintrag mit loginscript, sql datenbank login url, php code login registrierung datenbank, mit php login und register erstellen, php login register, php registrierung login script, login script sql, register login script, register und login script, php loginscript mit registirierung, registrierung und login script, registrier und login script, login registrierung php

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:42 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.