RegisterPage mit dem neuen RBAC

Guten Morgen,

Ich habe da mal eine Frage und zwar kennt sich einer mit Registerpages aus

und kann mir sagen, wie ich eine erstelle, die nicht nur den Account einträgt

sondern auch in den rbac_account_groups immer den Account mit groupid 1

einträgt?

Hitox

Mann müsste erst mal deine Registerpage in Original sahen um sagen zu können wie und wo Mann da Anpassung an besten vornimmt.

in Grunde aber muss nur eine zusätzliche sql Anweisung eingebaut werden.

$username = strtoupper($_POST['account']);        
$sql[0] = "DELETE FROM rbac_account_groups WHERE accountId IN (SELECT  id  FROM  account WHERE  UPPER(username) = '".$username."')";
$sql[1] = "INSERT INTO rbac_account_groups (accountId, groupId, realmId) SELECT id, 1, -1 FROM  account WHERE UPPER(username) = ".$username;

Am besten eine komplett neue Registerpage, weil die Registerpage die ich habe, in einem CMS drin ist.

Robox hat alles relevante dazu geschrieben. Alles was darüber hinaus geht, gehört eher in die Homepage-Ecke und nicht hier in dieses Forum.

Danke hat sich nun erledigt.

kann geschlossen werden.

habe es versucht nur mit dem Code einzufügen wo ist mein Fehler

<?php /* Gemacht von: Kálmán Roland (Pradox) Kontaktinformationen: [[email protected]](mailto:[email protected]) (email), [[email protected]](mailto:[email protected]) (msn) Datum: 25.07.2010 Übersetzt von: [www.wow-studio.net](http://www.wow-studio.net) (Tuerklinke) Kontaktinformationen: [www.wow-studio.net](http://www.wow-studio.net) (Homepage) [[email protected]](mailto:[email protected]) (E-Mail) Datum: 4.11.2010 */ require_once("config.php"); session_start(); if(!empty($_POST["security"])){ if($_SESSION["security"] != $_POST["security"]) { $errors[] = "Rossz választ adtál a biztonsági kérdésre!"; } } $security = rand(10000, 100000); $_SESSION["security"] = $security; if(!empty($_POST["accountname"]) && !empty($_POST["password"]) && !empty($_POST["password2"]) && !empty($_POST["email"]) && $_POST["expansion"] != "" && !empty($_POST["security"])){ $mysql_connect = mysqli_connect($mysql["host"], $mysql["username"], $mysql["password"]) or die("Verbindung zu der Datenbank fehlgeschlagen!"); mysqli_select_db($mysql_connect, $mysql["realmd"]) or die("Kann keine Datenbank auswählen!"); $post_accountname = mysqli_real_escape_string($mysql_connect, trim(strtoupper($_POST["accountname"]))); $post_password = mysqli_real_escape_string($mysql_connect, trim(strtoupper($_POST["password"]))); $post_password_final = mysqli_real_escape_string($mysql_connect, SHA1("".$post_accountname.":".$post_password."")); $post_password2 = trim(strtoupper($_POST["password2"])); $post_email = mysqli_real_escape_string($mysql_connect, trim($_POST["email"])); $post_expansion = mysqli_real_escape_string($mysql_connect, trim($_POST["expansion"])); $username = strtoupper($_POST['account']); $sql[0] = "DELETE FROM rbac_account_groups WHERE accountId = SELECT id FROM account WHERE UPPER(username) = '$username'"; $sql[1] = "INSERT INTO rbac_account_groups (accountId, groupId, realmId) SELECT id, 1, -1 FROM account WHERE UPPER(username) = '$username'"; $check_account_query = mysqli_query($mysql_connect, "SELECT COUNT(*) FROM account WHERE username = '".$post_accountname."'"); $check_account_results = mysqli_fetch_array($check_account_query); if($check_account_results[0]!=0){ $errors[] = "Dieser Account Name ist bereits in Benutzung."; } if(strlen($post_accountname) < 3) { $errors[] = "Ihr Account Name muss zwischen 3 und 32 Zeichen lang sein."; } if(strlen($post_accountname) > 32) { $errors[] = "Ihr Account Name muss zwischen 3 und 32 Zeichen lang sein."; } if(strlen($post_password) < 6) { $errors[] = "Ihr Passwort muss zwischen 6 und 32 Zeichen lang sein."; } if(strlen($post_password) > 32) { $errors[] = "Ihr Passwort muss zwischen 6 und 32 Zeichen lang sein."; } if(strlen($post_email) > 64) { $errors[] = "Ihre E-Mail-Adresse muss zwischen 8 und 64 Zeichen lang sein."; } if(strlen($post_email) < 8) { $errors[] = "Ihre E-Mail-Adresse muss zwischen 8 und 64 Zeichen lang sein."; } if(!ereg("^[0-9a-zA-Z%]+$", $post_accountname)) { $errors[] = "Unzulässige Zeichen verwendet. Bitte nutzen Sie nur Buchstaben und Zahlen."; } if(!ereg("^[0-9a-zA-Z%]+$", $post_password)) { $errors[] = "Unzulässige Zeichen verwendet. Bitte nutzen Sie nur Buchstaben und Zahlen."; } if(!ereg("^[0-2%]+$", $post_expansion)) { $errors[] = "Ein Fehler ist aufgetreten!"; } if(strlen($post_expansion) > 1) { $errors[] = "Ein Fehler ist aufgetreten!"; } if($post_accountname == $post_password) { $errors[] = "Der Account Name darf nicht mit dem Passwort übereinstimmen!"; } if($post_password != $post_password2) { $errors[] = "Die eingegebenen Passwörter stimmen nicht überein."; } if(!is_array($errors)){ mysqli_query($mysql_connect, "INSERT INTO account (username, sha_pass_hash, email, last_ip, expansion) VALUES ('".$post_accountname."', '".$post_password_final."', '".$post_email."', '".$_SERVER["REMOTE_ADDR"]."', '".$post_expansion."')") or die(mysqli_error($mysql_connect)); $errors[] = 'Ihr Account '.$post_accountname.' wurde erfolgreich erstellt!'; } mysqli_close($mysql_connect); } function error_msg(){ global $errors; if(is_array($errors)){ foreach($errors as $msg){ echo '
'.$msg.'
'; } } } ?> " /> " /> " /> <?php echo $site["title"]; ?>
"><?php echo $site[" />
<?php error_msg(); ?> " method="POST" onsubmit="return checkform(reg);" name="reg">
Account Name:
Passwort:
Passwort bestätigen:
E-Mail-Adresse:
Erweiterung: Wrath Of The Lich King Burning Crusade Classic World Of Warcraft
Sicherheitscode: <?php echo $security; ?>
<?php echo $site["realmlist"]; ?>

Darg © 2010
Translated by www.dargcityserver-wow.de

das ist nur ein Array mit den sql Anweisungen den hastest du nur in dein Script richtig ein binden müssen addwa so

<?php

/*

Gemacht von: Kálmán Roland (Pradox)

Kontaktinformationen: [email protected] (email), [email protected] (msn)

Datum: 25.07.2010

Übersetzt von: www.wow-studio.net (Tuerklinke)

Kontaktinformationen: www.wow-studio.net (Homepage) [email protected] (E-Mail)

Datum: 4.11.2010

*/

require_once(“config.php”);

session_start();

if(!empty($_POST[“security”])){

if($_SESSION[“security”] != $_POST[“security”]) { $errors[] = “Rossz választ adtál a biztonsági kérdésre!”; }

}

$security = rand(10000, 100000);

$_SESSION[“security”] = $security;

if(!empty($_POST[“accountname”]) && !empty($_POST[“password”]) && !empty($_POST[“password2”]) && !empty($_POST[“email”]) && $_POST[“expansion”] != “” && !empty($_POST[“security”])){

$mysql_connect = mysqli_connect($mysql[“host”], $mysql[“username”], $mysql[“password”]) or die(“Verbindung zu der Datenbank fehlgeschlagen!”);

mysqli_select_db($mysql_connect, $mysql[“realmd”]) or die(“Kann keine Datenbank auswählen!”);

$post_accountname = mysqli_real_escape_string($mysql_connect, trim(strtoupper(htmlspecialchars($_POST[“accountname”]))));

$post_password = trim(strtoupper(htmlspecialchars($_POST[“password”])));

$post_password_final = mysqli_real_escape_string($mysql_connect, SHA1(“”.$post_accountname.“:”.$post_password.“”));

$post_password2 = trim(strtoupper($_POST[“password2”]));

$post_email = mysqli_real_escape_string($mysql_connect, trim(htmlspecialchars(htmlspecialchars($_POST[“email”]))));

$post_expansion = mysqli_real_escape_string($mysql_connect, trim(htmlspecialchars(htmlspecialchars($_POST[“expansion”]))));

$check_account_query = mysqli_query($mysql_connect, “SELECT COUNT(*) FROM account WHERE username = '”.$post_accountname.“'”);

$check_account_results = mysqli_fetch_array($check_account_query);

if($check_account_results[0]!=0){ $errors[] = “Dieser Account Name ist bereits in Benutzung.”; }

if(strlen($post_accountname) < 3) { $errors[] = “Ihr Account Name muss zwischen 3 und 32 Zeichen lang sein.”; }

if(strlen($post_accountname) > 32) { $errors[] = “Ihr Account Name muss zwischen 3 und 32 Zeichen lang sein.”; }

if(strlen($post_password) < 6) { $errors[] = “Ihr Passwort muss zwischen 6 und 32 Zeichen lang sein.”; }

if(strlen($post_password) > 32) { $errors[] = “Ihr Passwort muss zwischen 6 und 32 Zeichen lang sein.”; }

if(strlen($post_email) > 64) { $errors[] = “Ihre E-Mail-Adresse muss zwischen 8 und 64 Zeichen lang sein.”; }

if(strlen($post_email) < 8) { $errors[] = “Ihre E-Mail-Adresse muss zwischen 8 und 64 Zeichen lang sein.”; }

//if(!preg_match(“^[0-9a-zA-Z%]+$”, $post_accountname)) { $errors[] = “Unzulässige Zeichen verwendet. Bitte nutzen Sie nur Buchstaben und Zahlen.”; }

//if(!preg_match(“^[0-9a-zA-Z%]+$”, $post_password)) { $errors[] = “Unzulässige Zeichen verwendet. Bitte nutzen Sie nur Buchstaben und Zahlen.”; }

//if(!preg_match(“^[0-2%]+$”, $post_expansion)) { $errors[] = “Ein Fehler ist aufgetreten!”; }

if(strlen($post_expansion) > 1) { $errors[] = “Ein Fehler ist aufgetreten!”; }

if($post_accountname == $post_password) { $errors[] = “Der Account Name darf nicht mit dem Passwort übereinstimmen!”; }

if($post_password != $post_password2) { $errors[] = “Die eingegebenen Passwörter stimmen nicht überein.”; }

if(!is_array($errors)){

$sql[0] = “INSERT INTO account (username, sha_pass_hash, email, last_ip, expansion) VALUES ('”.$post_accountname.“', '”.$post_password_final.“', '”.$post_email.“', '”.$_SERVER[“REMOTE_ADDR”].“', '”.$post_expansion.“')”;

$sql[1] = “DELETE FROM rbac_account_groups WHERE accountId IN (SELECT id FROM account WHERE UPPER(username) = '”.$post_accountname.“')”;

$sql[2] = “INSERT INTO rbac_account_groups (accountId, groupId, realmId) SELECT id, 1, -1 FROM account WHERE UPPER(username) = '”.$post_accountname.“'”;

foreach($sql as $query){

mysqli_query($mysql_connect, $query) or die(mysqli_error($mysql_connect));

}

$errors[] = ‘Ihr Account ’.$post_accountname.‘ wurde erfolgreich erstellt!’;

}

mysqli_close($mysql_connect);

}

function error_msg(){

global $errors;

if(is_array($errors)){

foreach($errors as $msg){

echo ‘

’.$msg.‘
’;

}

}

}

?>

glaub ich bin zu doof dafür bekomme es nicht hin.

ich habe das ganze eingefügt geht aber nicht.

robox darf ich dich bitten mir zu helfen /emoticons/default_sad.png