anpera.net
https://anpera.homeip.net/phpbb3/

Char bereits mit Titel erstellen
https://anpera.homeip.net/phpbb3/viewtopic.php?f=25&t=4993
Seite 1 von 1

Autor:  Inistha [ Di 01 Sep, 2009 22:12 ]
Betreff des Beitrags:  Char bereits mit Titel erstellen

Hallo,

eigentlich wollte ich mir den dazu passenden Änderungen aus den RPG-Chars holen...nur leider scheint die Datei, die hier angeboten wird defekt zu sein, sodass die Möglichkeit weggefallen ist.

Jetzt wollte ich fragen, ob ihr mir erklären könntet, welche Änderungen dazu notwendig wären.

Im Grunde will ich einfach, dass der Spieler sich bereits mit Namen und Titel anmelden kann. Das ganze ohne Farbcodes, ohne besondere Rpg-Char-Specials etc...


Ich hoffe ihr könnt mir helfen...:)

lg,
Inistha

Autor:  Salator [ Do 03 Sep, 2009 10:07 ]
Betreff des Beitrags:  Re: Char bereits mit Titel erstellen

Dafür wären 3 Änderungen in der create.php nötig.
Das Ganze ist allerdings ungetestet, da ich im Moment keine lauffähige 0.9.7 habe. Es kann also durchaus sein dass noch was fehlt.
$this->bbcode_second_pass_code('', '
Bauernjunge durch eigenen Titel überschreiben:
suche
$title = ($HTTP_POST_VARS[sex]?"Bauernmädchen":"Bauernjunge");

ersetze mit
$title = ($_POST['sex']?"Bauernmädchen":"Bauernjunge");
$ctitle = '';
if (strlen($_POST['title'])>2 && strlen($_POST['title'])<25){
$title = preg_replace("([^[:alpha:] _-])","",$_POST['title']);
$ctitle = $title;
}


Einfügen in die DB erweitern:
suche
$sql = "INSERT INTO accounts
(name,
title,
password,
sex,
login,
laston,
uniqueid,
lastip,
superuser,
gold,
emailaddress,
emailvalidation,
referer,
birthday
) VALUES (
'$title $shortname',
'$title',
MD5('$HTTP_POST_VARS[pass1]'),
'$HTTP_POST_VARS[sex]',
'$shortname',
'".date("Y-m-d H:i:s",strtotime(date("r")."-1 day"))."',
'$_COOKIE[lgi]',
'".$_SERVER['REMOTE_ADDR']."',
".getsetting("superuser",0).",
".getsetting("newplayerstartgold",50).",
'$_POST[email]',
'$emailverification',
'$referer',
'".(getsetting("activategamedate","0")?getgamedate():"")."'
)";

ersetze mit
$sql = "INSERT INTO accounts
(name,
title,
ctitle,
password,
sex,
login,
laston,
uniqueid,
lastip,
superuser,
gold,
emailaddress,
emailvalidation,
referer,
birthday
) VALUES (
'$title $shortname',
'$title',
'$ctitle',
MD5('$_POST[pass1]'),
'$_POST[sex]',
'$shortname',
'".date("Y-m-d H:i:s",strtotime(date("r")."-1 day"))."',
'$_COOKIE[lgi]',
'".$_SERVER['REMOTE_ADDR']."',
".getsetting("superuser",0).",
".getsetting("newplayerstartgold",50).",
'$_POST[email]',
'$emailverification',
'$referer',
'".(getsetting("activategamedate","0")?getgamedate():"")."'
)";


Formular erweitern:
suche
output("`nWie willst du in dieser Welt heissen? <input name='name'>`n",true);

füge danach ein
output("schöner Text, der zur (optionalen) Eingabe eines Titels auffordert <input name='title'>`n",true);
')

Autor:  Minerva [ Mi 16 Nov, 2011 01:42 ]
Betreff des Beitrags:  Re: Char bereits mit Titel erstellen

Yoichiro hat geschrieben:
Parse error: syntax error, unexpected '<' in /usr/www/users/shibay/Lacroya/create.php on line 159

kommt dann bei raus und das ist genau diese Zeile ^^

PHP:
if (strlen($_POST['title'])>2 && strlen($_POST['title']))<25){



da is einfach ne Klammer zu viel

if (strlen($_POST['title'])>2 && strlen($_POST['title']))<25){

die Klammern mal leicht gefärbt, damits vielleicht deutlicher wird..
sollte also einfach so aussehn:
PHP:
if (strlen($_POST['title'])>2 && strlen($_POST['title'])<25){

Autor:  Yoichiro [ Mi 16 Nov, 2011 20:20 ]
Betreff des Beitrags:  Re: Char bereits mit Titel erstellen

*auskram*

Ich habs versucht ^^

nachdem ich in meiner create noch das hier entfernt hab

$this->bbcode_second_pass_code('', ' if (strlen($_POST['title'])>2) && strlen($_POST['title'])<25){
$title = preg_replace("([^[:alpha:] _-])","",$_POST['title']);
$ctitle = $title;
}')

wurde die create.php auch richtig angezeigt. Trotzdem wird der eigene Titel nicht übernommen. Hab mich genau hier an die Anleitung gehalten.

Autor:  Salator [ Mi 16 Nov, 2011 20:43 ]
Betreff des Beitrags:  Re: Char bereits mit Titel erstellen

Mit rauslöschen kann das auch nicht funktionieren. Dieser Block prüft die Eingabe und setzt bei Korrektheit $ctitle

In der Abfrage ist mir aber eine Klammer verrutscht. Probiers mal damit:
$this->bbcode_second_pass_code('', 'if (strlen($_POST['title'])>2 && strlen($_POST['title']))<25){')

Autor:  Yoichiro [ Mi 16 Nov, 2011 21:42 ]
Betreff des Beitrags:  Re: Char bereits mit Titel erstellen

Parse error: syntax error, unexpected '<' in /usr/www/users/shibay/Lacroya/create.php on line 159

kommt dann bei raus und das ist genau diese Zeile ^^

PHP:
if (strlen($_POST['title'])>2 && strlen($_POST['title']))<25){


EDIT: Mit der Zeile von Minerva hauts jetzt hin, danke schön :)
Vor lauter Klammern den Code nicht mehr gesehen :???:

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/