- Affected Version
- WoltLab Suite 3.0
Heyho ich tüftle nun schon seit stunden und finde das problem nicht ich möchte einen nutzer über ein php script extern registrieren dieses hier wäre das externe script:
PHP
<?php
$username = "";
$email = "";
$password = "";
$uuid = "";
foreach ($_POST as $key => $value) {
switch ($key) {
case 'username':$username = $value;break;
case 'email':$email = $value;break;
case 'password':$password = $value;break;
case 'uuid':$uuid = $value;break;
default:break;
}
}
if($username!="" and $email!="" and $password!="" and $uuid!=""){
$mysqli = new mysqli("HOST", "USERNAME", "PASSWOR", "DATABASE");
if(mysqli_connect_error()){
echo ('SQL_DATABASE_EXCEPTION');die;
}else{
//if user exist
$result = $mysqli->query("SELECT count(*) from wcf1_user WHERE username='".$username."';");
$row = $result->fetch_row();
$count = $row[0];
if($count>0){echo ('USER_ALREADY_EXCEPTION');die;}
//Wbb Teil
include('../../httpdocs/forum/wcf/global.php');
include('../../httpdocs/forum/wcf/lib/data/user/UserProfileAction.class.php');
$data=array("username"=>$username, "password"=>$password, "email"=>$email);
$action = new wcf\data\user\UserAction(array(), 'create', array('data' => $data));
$returnValues = $action->executeAction();
$user = $returnValues['returnValues'];
//get id & set uuid
$result = $mysqli->query("SELECT userID from wcf1_user WHERE username='".$username."';");
$row = $result->fetch_assoc();
$id = $row['userID'];
$result = $mysqli->query("UPDATE wcf1_user_option_value SET userOption43='".$uuid."' WHERE userID='".$id."';");
if(!$result){echo ('USER_UUID_EXCEPTION');die;}
echo ('USER_REGSITER_SUCCESS');
}
}else{
echo('Invalid Page');
}
?>
Display More
Hier überprüfe ich ob der Nutzer bereits registriert ist das geht soweit
hier kommt nun der etwas komische teil die registrirung scheint zu klappen es wird auch am ende ein USER_REGSITER_SUCCESS ausgegeben und der Nutzer taucht auch in der Mitglieder liste auf mann kann in auch bearbeiten aber sobald sich der Nutzer einloggen möchte steht da "Die angaben sind ungültig". Ich weiß einfach nicht mehr weiter