|
|
Latest News |
Latest Threads |
|
|
55.080 Posts & 4.945 Themen in 78 Foren |
|
|
|
|
Forensuche |
|
Suchbegriff |
Benutzerauswahl |
Ergebnisse anzeigen |
|
|
TS + PHPKIT 10 Beiträge in diesem Thema |
|
|
|
|
|
|
|
|
25.02.2008 - 09:42 Uhr |
|
|
|
Hallo
ich hab mal wieder ein Problem
Ich möchte gern das wenn man sich auf der Website registriert, auch eine Registration auf dem TeamSpeak Server bekommt.
Kann mir da einer Helfen?
Das Script dafür, das ein User erstellt wird, habe ich.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | | PHP-Quelltext
<?php
//your serverdata here:
$server = "localhost"; // this is your servers IP or domainname
$queryport = 51234; // this is the TCP-queryport, the server runs at
$udpport = 8767; // this is the UDPport of your teamspeakserver.(the number after the : )
$superadmin = 1; // 1 for superadminlogin, 0 for serveradmin login
$loginname = "janni";
$loginpass = "*********";
//do not change something below unless you know what youre doing!
if($fp = @fsockopen($server, $queryport, $errno, $errstr, 3)) {
$data = fread($fp,128);
#echo $data;
$ts = $data;
if(ereg("[TS]", $data)){
fputs($fp, "sel ".$udpport."\n");
$data = fread($fp,128);
#echo $data;
if(ereg("^OK", $data)){
if ($superadmin == 1) {
$login = "slogin ";
}
else {
$login= "login ";
}
fputs($fp, $login.$loginname." ".$loginpass."\n");
$data = fread($fp,128);
#echo $data;
if(ereg("^OK", $data)){
fputs($fp, "dbuseradd ".addslashes($_REQUEST['name'])." ".addslashes($_REQUEST['pass'])." ".addslashes($_REQUEST['pass'])." 0\n");
#echo "Username: ".$_REQUEST['name']."<br>";
#echo "Password: ".$_REQUEST['pass']."<br>";
$data = fread($fp,128);
#echo $data;
if(ereg("^OK", $data)){
fputs($fp, "rehash\n");
echo "Der Benutzer ".addslashes($_REQUEST['name'])." wurde erfolgreich auf dem TeamSpeak Server registriert!";
}
else {
echo "Something went wrong! Perhaps the user already exists?";
}
}
else {
echo "Login falsch!";
}
}
else {
echo "Der Server mit dem Port $udpport existiert nicht!";
}
}
else {
echo "Dies ist keine aktueller Server, oder Ihre IP wurde gebannt!";
}
fclose($fp);
}
else {
echo "Es konnte keine Verbindung aufgebaut werden. Überprüfen Sie bitte Ihre Einstellungen!";
}
?> | | |
Das gegenseite Löschen von Benutzern auf dem TS ist nicht nötig, also nur die Registration.
Bin euch wie immer dankbar
/EDIT: Achso, was ich noch sagen wollte, das Script in die Registration von PHPKIT einzubauen, ist ja kein Problem, doch das ein Feld "zwei" Sachen macht, kann ich nicht. Also wenn ich mich registriere, muss der Benutzername und das Passwort ja einmal für die Website erstellt werden, und gleichzeitig für den TeamSpeak Server.
Es reicht auch, wenn einfach 2 Felder hinzugefügt werden, mit Login Name und Passwort.
|
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Janni - 25.02.2008 - 15:55 Uhr |
|
|
|
|
|
|
|
|
|
|
25.02.2008 - 17:27 Uhr |
|
|
|
Habe den oben genannten Code mal in die login/register.php gepackt, und 2 Felder hinzugefügt. Doch bei der Eingabe steht schon da, das der Nutzer schon registriert sei, obwohl ich noch nichts eingegeben habe. Ich bin echt zu doof dafür.
Solbald ich dann auf registrieren klicke, ignoriert er die Filder einfach.
DANKE
Ist mir langsam peinlich
|
|
|
|
|
|
|
|
|
|
26.02.2008 - 15:14 Uhr |
|
|
|
Kann mir denn niemand helfen?
Ich habe doch das Script um einen User zu erstellen, doch ich bin zu doof das einzubinden, da das Script immer zu früh abgefragt wird, nämlich dann, wenn ich den Disclaimer akzeptiere. (Siehe Screenshot). Das Script soll aber erst abgefragt werden, wenn ich auf Absenden klicke.
BITTE
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Janni - 26.02.2008 - 15:14 Uhr |
|
|
|
|
|
|
|
|
|
|
26.02.2008 - 20:27 Uhr |
|
|
|
Ich hab das nicht getestest, hab also keine Ahnung, ob das funktioniert.
Öffne die Datei login/register.php.
Suche das:
Hier klicken zum aufklappen | PHP-Quelltext $DB->query("INSERT INTO ".$db_tab['user']." (uid, user_name, user_nick, user_pw, user_email, user_status, signin, lastlog, user_activate) VALUES ('$uid','".$newuser."','".$newuser."','".$sqlpassword."','".$newemail."','user','".time()."','".time()."','".$config['user_activate']."')");
$info=$DB->insert_id(); | |
Und füge darunter das ein:
Hier klicken zum aufklappen 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | | PHP-Quelltext ##### TS
if ($fp=@fsockopen($server, $queryport, $errno, $errstr, 3)) {
$data=fread($fp,128);
$ts=$data;
if (ereg("[TS]", $data)) {
fputs($fp, "sel ".$udpport."\n");
$data=fread($fp,128);
if (ereg("^OK", $data)) {
if ($superadmin == 1) $login="slogin ";
else $login= "login ";
fputs($fp, $login.$loginname." ".$loginpass."\n");
$data=fread($fp,128);
if (ereg("^OK", $data)) {
fputs($fp, "dbuseradd ".addslashes($_POST['tsname'])." ".addslashes($_POST['tspass'])." ".addslashes($_POST['tspass'])." 0\n");
$data=fread($fp,128);
if (ereg("^OK", $data)) fputs($fp, "rehash\n");
}
}
}
fclose($fp);
}
##### TS | |
Jetzt suche noch das:
Hier klicken zum aufklappen | PHP-Quelltext if (isset($_REQUEST['error'])) $error=$_REQUEST['error'];
if (isset($error)) {
if ($error>=1) {eval ("\$error_message= \"".getTemplate("register_error_".$error."")."\";");}
if ($config['user_registry']==2) {eval ("\$error_message= \"".getTemplate("register_error2")."\";");}
else eval ("\$error_message= \"".getTemplate("register_error","")."\";");
} | |
Und füge darunter das ein:
Hier klicken zum aufklappen 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | | PHP-Quelltext ##### TS
if ($fp=@fsockopen($server, $queryport, $errno, $errstr, 3)) {
$data=fread($fp,128);
$ts=$data;
if (ereg("[TS]", $data)) {
fputs($fp, "sel ".$udpport."\n");
$data=fread($fp,128);
if (ereg("^OK", $data)) {
if ($superadmin == 1) $login="slogin ";
else $login= "login ";
fputs($fp, $login.$loginname." ".$loginpass."\n");
$data=fread($fp,128);
eval ("\$login_ts= \"".getTemplate("register_ts")."\";");
}
}
fclose($fp);
}
##### TS | |
Jetzt erstellst du das Template register_ts und machst diesen Code rein:
Hier klicken zum aufklappen | PHP-Quelltext <tr>
<td class="heads" colspan="2">Teamspeak</td>
</tr>
<tr>
<td class="left">Teamspeak-Nickname</td>
<td class="right"><input type="text" name="tsname" value="$tsname" size="10" class="w90"></td>
</tr>
<tr>
<td class="left">Passwort</td>
<td class="right"><input type="text" name="tspass" value="$tspass" size="10" class="w90"></td>
</tr> | |
Grund für das Template ist dieser, das, wenn der Server mal nicht vorhanden sein sollte, es keine Möglichkeit gibt, sich auf den Server zu registrieren.
Sollte aber eine Verbindung vorhanden sein, wird das Template angezeigt, und der User sollte registrieren können.
Ach ja, damit das Template einbunden werden kann, packst du einfach diese Variable ($login_ts) an eine passende Stelle zwischen einer geschlossen Zeilen ( | ) und einer angefangenden Zeile ()
Also so:
| PHP-Quelltext </tr>
$login_ts
<tr> | |
Ansonsten noch: Die Logindaten zum Teamspeak-Server packste unterhalb der .
|
|
|
|
|
|
|
|
|
27.02.2008 - 07:04 Uhr |
|
|
|
Ja super, geht mal wieder 100%ig.
ICH DANKE DIR
Kann es sein, das das Script auf ohost Servern nicht läuft???
|
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Janni - 27.02.2008 - 08:24 Uhr |
|
|
|
|
|
|
|
|
|
|
27.02.2008 - 14:44 Uhr |
|
|
|
Freehoster, wie Ohost, unterstützen Teamspeak (und andere Sachen glaub ich auch) nicht.
Von daher wird das zugreifen auf Teamspeak-Server von Freehostern zum größten Teil nicht gehen. Einige Freehoster bieten das ja vielleicht an, aber Ohost und Funpic nicht.
Hät nicht gedacht, daß das so einwandfrei funktioniert
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von k!r!ka - 27.02.2008 - 14:45 Uhr |
|
|
|
|
|
|
|
|
|
|
27.02.2008 - 15:25 Uhr |
|
|
|
Mist, dann ist ja alles umsonst gewesen.
Ich raste aus.
auf meinem Rechner (localhost) lief das Script sofort auf anhieb, aber als ich es dann hochgeladen habe, wird das Feld nicht angezeigt. (Also konnte keine Verbindung zu stande kommen)
danke euch
//EDIT: Habe dieses Cript was ich ganz am Anfang gepostet habe, mal auf eine andere Seite gepackt, und nicht in die Registrierung. (Auf dem selben Server) Und dann funktioniert das Script. Wieso geht es denn nur in der Registrierung nicht????
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Janni - 27.02.2008 - 15:45 Uhr |
|
|
|
|
|
|
|
|
|
|
27.02.2008 - 17:53 Uhr |
|
|
|
Ich habe vielleicht noch eine Idee, wie ich es schaffen könnte, bräuchte aber euren Rat.
Ich habe noch einen Webspace von Strato, wo noch ca. 10MB Platz ist. Kann ich also das Script Serverübergreifend einsetzen???
Also das Script liegt auf Server2 und die Website auf Server1. Auf Server1 soll nun das Script bei der Registrierung von Server2 erscheinen, weil ich doch keine Einschränkungen habe.
DANKE IM VORRAUS
|
|
|
|
|
|
|
|
|
|
27.02.2008 - 19:28 Uhr |
|
|
|
Klingt etwas komisch, daß das Script einzeln funktioniert, aber mit der Einbindung vom Kit nicht.
Und von einen anderen Server würde meines wissen nichts bringen.
Denn am Ende würde das externe Script nur wieder in die Registrierung includiert werden, was so oder so der Includierung der Registrierung gleicht.
Aber das muss nicht stimmen, ist einfach mein Gedanke dabei
|
|
|
|
|
|
|
|
|
|
28.02.2008 - 12:49 Uhr |
|
|
|
Man ich könnte kotzen, jetzt macht man sich die HP fertig, und am Ende ist alls für die Katz.
Naja, vielleicht hat ja jemand eine Idee, wie man das Serverübergreifend einsetzen kann.
Danke aber K!r!ka
|
|
|
|
|
|
|
|
Ähnliche Themen |
|
|
|
|
|
|
|
|