[PHP] Hilfe, es geht nicht !

07/01/2011 12:24 iKyroja :>#1
Hallo ich sollte eine Beta Registration machen, die die beta Codes abruft und testet ob es sie gibt bzw ob sie OK sind, es geht aber nicht, es kommt immer das der Beta Code nicht existiert.

PHP Code:
<?PHP
// Mysql/Datenbankverbindung.
$mysqlConnect = mysql_connect('localhost','root','password');
if(!
$mysqlConnect) { die('Fehler beim Verbinden mit der Datenbank'); }
//Er testet ob das Formular betetigt wird.
if(isset($_POST['submit']) && $_POST['submit'] == 'Senden') {
    
$userID    = mysql_real_escape_string($_POST['userID']);
    
$userPass  = mysql_real_escape_string($_POST['userPass']);
    
$betaKey   = mysql_real_escape_string($_POST['betaKey']);
    
$keyQuery  = mysql_query("SELECT * FROM homepage.keys WHERE keys = '".$betaKey."'");
    print 
mysql_error();
    
$keyStatus = mysql_num_rows($keyQuery);
    if(empty($
$_POST['userID']) && empty($$_POST['userPass']) && empty($$_POST['betaKey'])) {
        echo 
'Bitte fülle alle Fälder aus !';
    } else {
            if(!
$keyStatus > 0) {
                    echo 
'Der Betacode existiert nicht !';
                } else {
                    
$keyFetch  = mysql_fetch_array($keyStatus);
                    if(
$keyFetch->status == "BLOCK"){ 
                    echo 
'Der Betacode wurde schon benutzt';
                } elseif(
$keyFetch->status == "OK") {
                    
mysql_query("UPDATE homepage.keys SET status = 'BLOCK' WHERE keys ='".$betaKey."'");
                    
$regQuery = mysql_query("INSERT INTO account.account (login,password) Values (".$userID.",".$userPass.")");
                if(!
$regQuery) {
                    echo 
'Etwas ist bei der erstellung deines Beta-Accounts fehlgeschalgen,<br>Bitte Kontaktiere ein Teammitglied';
                } else {
                    echo 
'Du hast erfolgreich deinen Beta-Account erstellt.';
                }
            }
        }
    }
}
?>
07/01/2011 16:13 Fratyr#2
PHP Code:
if(empty($$_POST['userID']) && empty($$_POST['userPass']) && empty($$_POST['betaKey']) 
Versuch anstatt && den operator OR oder || zu verwenden.ansonsten würde es
ausreichen ein Feld auszufüllen und der User würde trotzdem weitergelassen werden.
Auserdem nimm das $$_POST raus und ersetz es durch $_POST. Double Dollars macht was
komplett anderes digga ;)

PHP Code:
$a = 'felix';
$
$a = 'Felix ist cool';
echo 
$felix; 
erzeugt die ausgabe "Felix ist cool" ;)

PHP Code:
if(!$keyStatus > 0) { 
Ich habs mir nicht richtig angeschaut aber das Problem sollte wohl hier liegen.
versuchs mal mit

PHP Code:
if($keyStatus != 0) 
und sag mir dan obs funktioniert oder nicht ;)
07/01/2011 16:15 NotEnoughForYou#3
da würde ich auch den fehler vermuten ... wie wird denn bei dir ein korrekter key ausgezeichnet?