• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Sehr kleiner Refcodeschnipsel funktioniert nicht

Status
Für weitere Antworten geschlossen.

FleyerShaver

Neues Mitglied
HI,
ich habe folgenden Minicode:
PHP:
if(isNum($_GET['ref'])) {
$_SESSION['kt_ref'] = $_GET['ref'];
} elseif(isset($_SESSION['kt_ref'])) {
$_SESSION['kt_ref'] = $_SESSION['kt_ref'];
} else {
$_SESSION['kt_ref'] = 0;
}

Dann rufe ich die URL anmeldung.php?ref=1 auf. Ich gebe dann es Formular ein und klicke auf ansenden. Nach dem absenden ist die $_SESSION['kt_ref'] aber immer 0 und nicht 1.

Warum?
 
Werbung:
schreib doch

PHP:
$_SESSION['bla'] = (int)$_GET['bla'];

und schon hat sich die sache ^^
 
Meinst du jetzt so:
PHP:
if(isNum($_GET['ref'])) {
$_SESSION['kt_ref'] = (int)$_GET['ref'];
} elseif(isset($_SESSION['kt_ref'])) {
$_SESSION['kt_ref'] = $_SESSION['kt_ref'];
} else {
$_SESSION['kt_ref'] = 0;
}

Wenn ja dann klappt es immer noch nicht.
 
Werbung:
ich meine das du

PHP:
if(isNum($_GET['ref'])) {
$_SESSION['kt_ref'] = (int)$_GET['ref'];
} elseif(isset($_SESSION['kt_ref'])) {
$_SESSION['kt_ref'] = $_SESSION['kt_ref'];
} else {
$_SESSION['kt_ref'] = 0;
}

durch

PHP:
$_SESSION['bla'] = (int)$_GET['bla'];
ersetzen kannst...

musst aber error_reporting auf 0 stellen sonst mach einfach

PHP:
if(isset($_GET['bla']))
{
    $_SESSION['bla'] = (int)$_GET['bla']; 
}
else
{
    $_SESSION['bla'] = 0; 
}
 
Mein Script sieht jetzt so aus. Das rufe ich in der anm.php?ref=1 auf.
PHP:
if(isset($_GET['ref']) AND isNum($_GET['ref']))
{
    $_SESSION['kt_ref'] = (int)$_GET['ref'];
}
Darunter ist noch ein Anmeldeformular

Nach dem absenden kommen ich auf die anmelden.php.
Dort wird das ganze so gespeichert:
PHP:
$user_info = serialize(array(
                    "user_name" => $username,
                    "user_password" => md5(md5($password1)),
                    "user_email" => $email,
                    "user_hide_email" => isNum($_POST['user_hide_email']) ? $_POST['user_hide_email'] : "1",
                    "user_geschlecht" => isNum($_POST['user_geschlecht']) ? $_POST['user_geschlecht'] : "1",
                    "user_location" => stripinput(trim($_POST['user_location'])),
                    "user_birthdate" => stripinput(trim($user_birthdate)),
                    "user_ref" => $_SESSION['kt_ref']
                    ));
                
                $result = dbquery("INSERT INTO ".$db_prefix."new_users (user_code, user_email, user_datestamp, user_info) VALUES('$user_code', '".$email."', '".time()."', '$user_info')");

Dann steht aber unter user_info folgendes in der db:
a:8:{s:9:"user_name";s:6:"Google";s:13:"user_password";s:32:"8f9d139a43a448f1b91ecb0105238b53";s:10:"user_email";s:21:"[email protected]";s:15:"user_hide_email";s:1:"1";s:15:"user_geschlecht";s:1:"1";s:13:"user_location";s:5:"54321";s:14:"user_birthdate";s:8:"1970-1-1";s:8:"user_ref";N;}
Der Werber(in meinem Fall 1) wird aber nicht mitgespeichert.

Waran könnte es liegen?
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben