[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?