Gamux Game Entwicklung  
     

Left Nav Mit Facebook verbinden Registrieren Lexikon Lexikon Interessengemeinschaften Suchen Heutige Beiträge Alle Foren als gelesen markieren Right Nav

Left Container Right Container
 
Alt 07.11.2009, 20:44   #1 (permalink)
Benutzer
 

Standard Registrierung Problem eMail

wie benutze ich strstr bei diesem script? reicht es wenn ich einfach ganz oben die variable $_POST('email') vordefiniere und dann einfach sage es muss ein . und @ vorhanden sein? oder muss ich sie garnicht erst definieren+

also an die if schleife && strstr("$_POST['email']",'@') && strstr("$_POST['email']",'.')

PHP-Code:
<html>
<head>
  <title>Registrierung</title>
</head>
<body>
<?php
  
if (isset($_POST['submit'])) {
    
$ausgabe '';
    
$fehler '';
    
    if (isset(
$_POST['name']) && !is_array($_POST['name']) && $_POST['name'] != '') {
      
$ausgabe .= 'Name: ' htmlspecialchars($_POST['name']) . '<br />';
    } else {
      
$fehler .= 'Kein Name angegeben!<br />';
    }

    if (isset(
$_POST['pass']) && !is_array($_POST['pass']) && $_POST['pass'] != '') {
      
$ausgabe .= 'Passwort: ' htmlspecialchars($_POST['pass']) . '<br />';
    } else {
      
$fehler .= 'Kein Passwort angegeben!<br />';
    }

       if (isset(
$_POST['passw']) && !is_array($_POST['passw']) && $_POST['passw'] != '') {
      
$ausgabe .= 'Passwort wiederholen: ' htmlspecialchars($_POST['passw']) . '<br />';
    } else {
      
$fehler .= 'Kein Passwortwiederholung angegeben!<br />';
    }
  
    if (isset(
$_POST['email']) && !is_array($_POST['email']) && $_POST['email'] != '') {
      
$ausgabe .= 'Zahlungsart: ' htmlspecialchars($_POST['email']) . '<br />';
    } else {
      
$fehler .= 'Keine Zahlungsart ausgew&auml;hlt!<br />';
    }

    if (isset(
$_POST['agb']) && !is_array($_GET['agb']) && $_POST['agb'] == 'ok') {
      
$ausgabe .= 'AGB: ' htmlspecialchars($_POST['agb']) . '<br />';
    } else {
      
$fehler .= 'AGB nicht akzeptiert!<br />';
    }
    
    if (
$fehler == '') {
      echo 
$ausgabe;
      echo 
'</body></html>';
      exit();
    } else {
      echo 
"<b>$fehler</b>";
    }
  }
?>
  <h2>Registrierung</h2>
<p>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
    Name im Spiel: <br />
    <input type="text" name="name" value="<?php
    
if (isset($_POST['name']) && !is_array($_POST['name'])) {
      echo 
htmlspecialchars($_POST['name']);
    }
  
?>"/><br />
  Passwort: <br />
    <input type="password" name="pass" value="<?php
    
if (isset($_POST['pass']) && !is_array($_POST['pass'])) {
      echo 
htmlspecialchars($_POST['pass']);
    }
  
?>"/><br />
  Passwort wiederholen: <br />
    <input type="password" name="passw" value="<?php
    
if (isset($_POST['passw']) && !is_array($_POST['passw'])) {
      echo 
htmlspecialchars($_POST['passw']);
    }
  
?>"/> <br />
  eMail: <br />
    <input type="text" name="email" value="<?php
    
if (isset($_POST['email']) && !is_array($_POST['email'])) {
      echo 
htmlspecialchars($_POST['email']);
    }
  
?>"/><br />
    <input type="checkbox" name="agb" value="ok" <?php
    
if (isset($_POST['agb']) && $_POST['agb'] == 'ok') {
      echo 
'checked="checked" ';
    }
  
?>/>
    Ich akzeptiere die AGB!<br />
    <input type="submit" name="submit" value="Versenden" />
  </p>
</form>
</p>
</body>
</html>

^^ :P ja ich mag smileys

Geändert von BlackWolf-Design (08.11.2009 um 10:38 Uhr).
BlackWolf-Design ist offline   Mit Zitat antworten An Facebook senden
Werbung
Alt 08.11.2009, 21:55   #2 (permalink)
Pixelschieber
Benutzerbild von Sebastian
 

Standard

Dein Problem ist, dass man das ganze nicht mit strstr macht sondern mit preg_match. Das brauchst du reguläre Ausdrücke( Regular Expression Tutorial - Learn How to Use Regular Expressions )

Eine gute Lösung ist folgendes:
eMail-Adresse auf Korrektheit überprüfen - php.de

Grüße
Sebastian

http://www.filmeo.de - Kostenlose Filme & Serien finden
Sebastian ist offline   Mit Zitat antworten An Facebook senden
Alt 09.11.2009, 16:27   #3 (permalink)
Benutzer
 

Standard

ok thx hab das halt iwo gelesen mit strstr^^

^^ :P ja ich mag smileys
BlackWolf-Design ist offline   Mit Zitat antworten An Facebook senden
Alt 11.11.2009, 18:25   #4 (permalink)
Benutzer
 

Standard

so das mit der email klappt wunderbar doch ich bekomm keine übertragung der daten hin...

mysql-connect.inc.php ist die aus dem tutorial

PHP-Code:
<html>
<head>
  <title>Registrierung</title>
</head>
<body>
<?php

// include
include 'mysql-connect.inc.php';

// Variablen
$database "browsergame";
$username $_POST['name'];
$password $_POST['pass'];
$email $_POST['email'];
$eintrag "INSERT INTO ".PREFIX."bg_user (username, password, ) VALUES ('$username', '$password')";
$eintrag .= "INSERT INTO ".PREFIX."bg_user_ext (email) VALUES ('$email')";


// Datenbank auswählen
mysql_select_db($database);

// Überprüfungen - ausgefüllt
  
if (isset($_POST['submit'])) {
    
$ausgabe '';
    
$fehler '';
    
    if (isset(
$_POST['name']) && !is_array($_POST['name']) && $_POST['name'] != '') {
      
$ausgabe .= 'Name: ' htmlspecialchars($_POST['name']) . '<br />';
    } else {
      
$fehler .= 'Kein Name angegeben!<br />';
    }

    if (isset(
$_POST['pass']) && !is_array($_POST['pass']) && $_POST['pass'] != '') {
      
$ausgabe .= 'Passwort: ' htmlspecialchars($_POST['pass']) . '<br />';
    } else {
      
$fehler .= 'Kein Passwort angegeben!<br />';
    }

       if (isset(
$_POST['passw']) && !is_array($_POST['passw']) && $_POST['passw'] != '') {
      
$ausgabe .= 'Passwort wiederholen: ' htmlspecialchars($_POST['passw']) . '<br />';
    } else {
      
$fehler .= 'Kein Passwortwiederholung angegeben!<br />';
    }
  
    if (isset(
$_POST['email']) && !is_array($_POST['email']) && $_POST['email'] != '' && preg_match('/^[^\x00-\x20()<>@,;:\\".[\]\x7f-\xff]+(?:\.[^\x00-\x20()<>@,;:\\".[\]\x7f-\xff]+)*\@[^\x00-\x20()<>@,;:\\".[\]\x7f-\xff]+(?:\.[^\x00-\x20()<>@,;:\\".[\]\x7f-\xff]+)+$/i'$_POST['email']) ) {
      
$ausgabe .= 'eMail: ' htmlspecialchars($_POST['email']) . '<br />';
    } else {
      
$fehler .= 'Falsche eMail-Adresse angegeben!<br />';
    }

    if (isset(
$_POST['agb']) && !is_array($_GET['agb']) && $_POST['agb'] == 'ok') {
      
$ausgabe .= 'AGB: ' htmlspecialchars($_POST['agb']) . '<br />';
    } else {
      
$fehler .= 'AGB nicht akzeptiert!<br />';
    }
    
    if (
$_POST['passw'] == $_POST['pass']) {
      
$ausgabe .= 'Passwörter sind indentisch!';
    } else {
      
$fehler .= 'Passwörter sind nicht identisch!' '<br />';
    }
      
    if (
$fehler == '') {
//  hier muss sicher der sql befehl hin mysql_query und so..., oder $ausgabe so umbauen das dies die Parameter für den sql-befehl enthalten und mit mysqlquery absenden
    
$ausgabe .= 'Abgeschlossen!';
    } else {
      echo 
"<b>$fehler</b>";
    }
  }
  
// Prüfungen sind falsch ich weiß hab ich mich auch noch ne drum gekümmert, steht nur da damit ich es nicht vergesse
  
// Prüfung Username
    //$ergebnis = mysql_query("SELECT * FROM ".PREFIX."bg_user WHERE username = '$username' ");
    //$num = mysql_num_rows($ergebnis);
    //if($num) $error[]="Username wird bereits verwendet!";
    
// Prüfung eMail
    //$ergebnis = mysql_query("SELECT * FROM ".PREFIX."bg_user_ext WHERE email = '$email' ");
    //$num = mysql_num_rows($ergebnis);
    //if($num) $error[]="E-Mail-Adresse wird bereits verwendet!";
?>

  <h2>Registrierung</h2>
<p>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
    Name im Spiel: <br />
    <input type="text" name="name" value="<?php
    
if (isset($_POST['name']) && !is_array($_POST['name'])) {
      echo 
htmlspecialchars($_POST['name']);
    }
  
?>"/><br />
  Passwort: <br />
    <input type="password" name="pass" value="<?php
    
if (isset($_POST['pass']) && !is_array($_POST['pass'])) {
      echo 
htmlspecialchars($_POST['pass']);
    }
  
?>"/><br />
  Passwort wiederholen: <br />
    <input type="password" name="passw" value="<?php
    
if (isset($_POST['passw']) && !is_array($_POST['passw'])) {
      echo 
htmlspecialchars($_POST['passw']);
    }
  
?>"/> <br />
  eMail: <br />
    <input type="text" name="email" value="<?php
    
if (isset($_POST['email']) && !is_array($_POST['email']) && preg_match('/^[^\x00-\x20()<>@,;:\\".[\]\x7f-\xff]+(?:\.[^\x00-\x20()<>@,;:\\".[\]\x7f-\xff]+)*\@[^\x00-\x20()<>@,;:\\".[\]\x7f-\xff]+(?:\.[^\x00-\x20()<>@,;:\\".[\]\x7f-\xff]+)+$/i'$_POST['email']) ) {
      echo 
htmlspecialchars($_POST['email']);
    }
  
?>"/><br />
    <input type="checkbox" name="agb" value="ok" <?php
    
if (isset($_POST['agb']) && $_POST['agb'] == 'ok') {
      echo 
'checked="checked" ';
    }
  
?>/>
    Ich akzeptiere die AGB!<br />
    <input type="submit" name="submit" value="Versenden" />
  </p>
</form>
</p>
</body>
</html>
wie es im script steht denk ich es muss dort rein, aber ich bekomms ne gebacken ^^

^^ :P ja ich mag smileys
BlackWolf-Design ist offline   Mit Zitat antworten An Facebook senden
Alt 11.11.2009, 18:28   #5 (permalink)
Benutzer
 

Standard

was fehlt noch? ich denke aktivierungscode und die überprüfungen ob die daten schon vergeben sind. aber erstma der fehler plz

und das ne email an den typ geschickt wird^^

so wie sag ich über php das aus der tabelle dignsbums "id" mit "id_user" aus einer anderen tabelle verbunden sind... d.h. id ist autoincrement also 1++
und id_user die richtige id hat :P

^^ :P ja ich mag smileys

Geändert von BlackWolf-Design (12.11.2009 um 16:56 Uhr).
BlackWolf-Design ist offline   Mit Zitat antworten An Facebook senden
Alt 12.11.2009, 18:13   #6 (permalink)
Erfahrener Benutzer
 

Standard

Zitat:
Zitat von BlackWolf-Design Beitrag anzeigen
was fehlt noch? ich denke aktivierungscode und die überprüfungen ob die daten schon vergeben sind. aber erstma der fehler plz

und das ne email an den typ geschickt wird^^
Was kommt denn für eine Fehlermeldung bei deinem Script? Habe jetzt keine Zeit alles bei mir auf den Webspace zu laden.

Zitat:
Zitat von BlackWolf-Design Beitrag anzeigen
so wie sag ich über php das aus der tabelle dignsbums "id" mit "id_user" aus einer anderen tabelle verbunden sind... d.h. id ist autoincrement also 1++
und id_user die richtige id hat :P
Was heißt verbunden? Du schreibst dort auch einfach eine Spalte id-user und ruft dann SELECT * FROM ... WHERE id_user='$user_id' auf. Das geht auch gut mit JOINS.


MfG
Phybot

Phybot ist offline   Mit Zitat antworten An Facebook senden
Alt 12.11.2009, 18:37   #7 (permalink)
Benutzer
 

Standard

also @phybot

Zitat:
was fehlt noch? ich denke aktivierungscode und die überprüfungen ob die daten schon vergeben sind. aber erstma der fehler plz

und das ne email an den typ geschickt wird^^
war mehr ne anmerkung für mich

ich weiß nicht wie ich es richtig umsetzen soll das es in die db einträgt

es passiert nach dem senden nix

und nja ich meine nicht direkt verbunden sondern, ich speicher die acc daten un verschiedenen tabellen z.b. name und pw wo anders als die email, das erstere hat die id und die andere user_id aber wie bekomme ich es hin (über php script) das er sagt die tabelle hat id und die andere hat user_id (oderso) nun diese datensätze haben den gleichen wert(id, user_id) also gehört die emailadresse diesem benutzer

hoffe man versteht es :P

^^ :P ja ich mag smileys
BlackWolf-Design ist offline   Mit Zitat antworten An Facebook senden
Alt 13.11.2009, 12:07   #8 (permalink)
Benutzer
 

Standard

oder um es noch sinnvoller zugestalten änder ich die if-anweisungen so, das es kein false in der schleife gibt da der ausgabe-string sinnlos ist.

danach prüfe ich den string "fehler" auf eine leere zeichenkette und ist das der fall so werden die daten übertragen :P oder^^

^^ :P ja ich mag smileys
BlackWolf-Design ist offline   Mit Zitat antworten An Facebook senden
Alt 13.11.2009, 17:01   #9 (permalink)
Erfahrener Benutzer
 

Standard

Was heißt denn genau nichts? Bei deiner Ausgabe müsste doch entweder ein Fehler oder die Bestätigung kommen.
Ich würde es so machen:
Am Anfang kontrollierst löscht du alles gefährliche aus den Eingaben. Danach überprüfst du, ob die Eingaben Valide sind.
Wenn ja -> Datenbank | Wenn Nein -> Fehler

Ein Tutorial zum Valireren von Daten wollte ich eh in der nächsten Tagen mal schreiben.

MfG
Phybot

Phybot ist offline   Mit Zitat antworten An Facebook senden
Alt 13.11.2009, 20:54   #10 (permalink)
Benutzer
 

Standard

ok :P ich bring das forum richtig zum glühen was ;D

^^ :P ja ich mag smileys
BlackWolf-Design ist offline   Mit Zitat antworten An Facebook senden
Antwort

Themen-Optionen
Ansicht

Forumregeln
BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus
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.

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit array leridan Spiele programmieren 3 04.05.2009 16:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:17 Uhr.


Style Copyright by Wrestling Forum
Content Relevant URLs by vBSEO 3.3.0