anpera.net https://anpera.dyndns.org/phpbb3/ |
|
Charakterbogen für Bio https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=3797 |
Seite 1 von 1 |
Autor: | Song Sinen [ Mo 16 Jul, 2007 10:49 ] |
Betreff des Beitrags: | Charakterbogen für Bio |
Was macht es? Dieser kleine Mod ist ein beliebig erweiterbarer Charakterbogen, basierend auf Eliwood's Showform. User können ihn ganz leicht ausfüllen und für sich oder ihren Chara nutzen, vorallem schön für jene dich recht schreibfaul sind und nicht die Fantasie haben sich ne richtige Bio auszudenken. Einbau Schwierigkeit: Einfach 1.0. Öffne: bio.php 1.1. Suche [php]require_once "common.php"; $result = db_query("SELECT login,name,aufstiege,schande,sex,title,acctid,age,marriedto,pvpflag,charisma,resurrections, bio,race,avatar,housekey,punch,reputation,birthday FROM accounts WHERE login='$_GET[char]'"); $row = db_fetch_assoc($result); $row[login] = rawurlencode($row[login]);[/php] 1.2. Füge danach ein [php]addnav("$row[name]`0's Charakterbogen","charabogen.php?op=show&char=".$row[login]."&ret=".URLEncode($_SERVER['REQUEST_URI']).""); [/php] 1.3. bio.php speichern und hochladen 2.0. Entpacke charabogen.zip und lad es in dein root-Verzeichniss. 3.0. Änder gegf. den addnav "outtime.php" in "prefs.php" oä. 3.1. Füge in besagtem Skript irgenwo ein [php]addnav("Charakterbogen","charabogen.php?op=change");[/php] 4.0 Das hier in der Datenbank ausführen: [php]CREATE TABLE charabogen ( id int(5) UNSIGNED NOT NULL AUTO_INCREMENT, geburtsname varchar(50) NOT NULL default '', geburtstag varchar(50) NOT NULL default '', geburtsort varchar(50) NOT NULL default '', familie varchar(50) NOT NULL default '', jahre int(11) NOT NULL default '', groese int(11) NOT NULL default '', gewicht int(11) NOT NULL default '', haarfarbe varchar(50) NOT NULL default '', augenfarbe varchar(50) NOT NULL default '', merkmale varchar(50) NOT NULL default '', lfarbe varchar(50) NOT NULL default '', lzahl int(11) NOT NULL default '', lbuch varchar(50) NOT NULL default '', lspeise varchar(50) NOT NULL default '', lgetraenk varchar(50) NOT NULL default '', lwaffe varchar(50) NOT NULL default '', totfeind varchar(50) NOT NULL default '', lebensmotto varchar(50) NOT NULL default '', hname varchar(50) NOT NULL default '', hart varchar(50) NOT NULL default '', hbesonderes varchar(50) NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAM;[/php] (Die Typen sind leicht übertrieben, ich weis, am besten jeder passt es nach seinen Wünschen an. Das mit dem Insert für jede id hab ich bei meiner Charaerstellung eingebaut, die is aber wohl zu nix kompatibel. ![]() 5.0. Freuen^^ Lg, Song Sinen ANMERKUNG: Das ganze is noch v0.8, es fehlen noch vernichtende Kritiken, was-hast-du-denn-da-gemach-posts und einige neue Uploads ehe es v1.0 ist, dürchte ich... o.o Der Vollständigkeit halber hier noch der Original-Post: Zitat: Ich Arbeite eben an einem kleinen Charakterbogen im Stil von "Name, Lieblingsfarbe, usw.", nur eben etwas größer, als kleine Ergänzung zur Bio. Das ganze hat etwas von einem Fragebogen und fordert nicht viel Kreativität vom Spieler, was es wohl auch für Spieler ohne große Liebe zum Detail (bezüglich des Charas) interesannt macht.
Die Daten werden alle in der Tabelle "charabogen" hinterlegt und von dort ausgelesen. z.B. so [php] $sql = "SELECT lieblingsfarbe FROM charabogen WHERE `id` = '$userid'"; db_query($sql); $result = db_query($sql); $row = db_fetch_assoc($result); $lieblingsfarbe =$row['lieblingsfarbe'];[/php] Wie auch immer, ich bin eben beim Eingabeskript und hier ist mein kleines Problem: Wie mach ich es dass einfach eine lange Liste mit Feldern ausgegeben wird, an deren Ende ein kleiner Speichern-Button steht und die beim laden des Skriptes automatisch mit den Werten aus der Charakterbogen-Tabelle gefüllt werden. (So dass er die alten Sachen gleich wieder reintut.) Etwas ähnliches hab ich in der prefs.php schon beim Avatar-Feld gesehen, leider steht da aber auch noch was von einem Feld in den Accounts und jedermenge garstiger Funktionen. Bitte gebt mir ein kurzes Beispiel mit 1,2 [Eingabe-Feldern] die beim Laden mit $werten gefüllt werden und einem netten [Speichern-Button], dann komm ich weiter. Das Skript wird dann natürlich hier zum Download bereitstehen. Lg, Song Sinen |
Autor: | Kamui [ Mo 16 Jul, 2007 11:18 ] |
Betreff des Beitrags: | |
HTML ist da dein Freund ![]() HTML Formulare und bei LotgD gibt es nee ganz tolle Funktion die sich showform nennt ![]() was zu tun ist. |
Autor: | Eliwood [ Mo 16 Jul, 2007 12:40 ] |
Betreff des Beitrags: | Re: Charakterbogen für Bio |
Song Sinen hat geschrieben: Ich Arbeite eben an einem kleinen Charakterbogen im Stil von "Name, Lieblingsfarbe, usw.", nur eben etwas größer, als kleine Ergänzung zur Bio. Das ganze hat etwas von einem Fragebogen und fordert nicht viel Kreativität vom Spieler, was es wohl auch für Spieler ohne große Liebe zum Detail (bezüglich des Charas) interesannt macht.
Die Daten werden alle in der Tabelle "charabogen" hinterlegt und von dort ausgelesen. z.B. so [php] $sql = "SELECT lieblingsfarbe FROM charabogen WHERE `id` = '$userid'"; db_query($sql); $result = db_query($sql); $row = db_fetch_assoc($result); $lieblingsfarbe =$row['lieblingsfarbe'];[/php] Wie auch immer, ich bin eben beim Eingabeskript und hier ist mein kleines Problem: Wie mach ich es dass einfach eine lange Liste mit Feldern ausgegeben wird, an deren Ende ein kleiner Speichern-Button steht und die beim laden des Skriptes automatisch mit den Werten aus der Charakterbogen-Tabelle gefüllt werden. (So dass er die alten Sachen gleich wieder reintut.) Etwas ähnliches hab ich in der prefs.php schon beim Avatar-Feld gesehen, leider steht da aber auch noch was von einem Feld in den Accounts und jedermenge garstiger Funktionen. Bitte gebt mir ein kurzes Beispiel mit 1,2 [Eingabe-Feldern] die beim Laden mit $werten gefüllt werden und einem netten [Speichern-Button], dann komm ich weiter. Das Skript wird dann natürlich hier zum Download bereitstehen. Lg, Song Sinen [php]$row = array('name' => 'U-Mos', 'race' => 'Luminoth'); $formular = array('Allgemeine Informationen,title', 'name' => 'Der Name des Wesens', 'Die Rasse des Wesens,text'); rawoutput('<form action="save.php" method="post">'); showform($formular, $row); rawoutput('</form>');[/php] So oder so ähnlich. Kannst auch leicht von Hand machen oder du nimmst mein Showform-Objekt, das noch n' bissel mehr kann. ^^ |
Autor: | Song Sinen [ Mo 16 Jul, 2007 17:35 ] |
Betreff des Beitrags: | |
Ok, danke ihr Zwei! Da nehm ich doch gleich deine showform Eliwood...^^ *an die Arbeit mach* EDIT: Hm, noch ne Frage... Wie speichert man die Sachen wieder in der DB, Elliwood? Hab das bisher: [php] <?php Require 'lib/showform.class.php'; require_once "common.php"; page_header("Dein Charakter"); addnav("Zurück","outtime.php"); addnav("Dein Charakter"); addnav("`@Reload","charabogen.php"); $userid=$session['user']['acctid']; if($_GET['op']=="save"){ #Hier der Save? Oo } $sql = "SELECT * FROM charabogen WHERE `id` = '$userid'"; db_query($sql); $result = db_query($sql); $row = db_fetch_assoc($result); $geburtsname=$row['geburtsname']; $geburtstag=$row['geburtstag']; $geburtsort=$row['geburtsort']; $familie=$row['familie']; $jahre=$row['jahre']; $groese=$row['groese']; $$gewicht=$row['gewicht']; $haarfarbe=$row['haarfarbe']; $augenfarbe=$row['augenfarbe']; $merkmale=$row['merkmale']; $lfarbe=$row['lfarbe']; $lzahl=$row['lzahl']; $lbuch=$row['lbuch']; $lspeise=$row['lspeise']; $lgetraenk=$row['lgetraenk']; $lwaffe=$row['lwaffe']; $totfeind=$row['totfeind']; $lebensmotto=$row['lebensmotto']; $hname=$row['hname']; $hart=$row['hart']; $hbesonderes=$row['hbesonderes']; $cname=$session['user']['name']; $form = array( 'Herkunft', 'geburtsname' => array( 'Geburtsname', 'text', 'default' => "$geburtsname" ), 'geburtstag' => array( 'Geburtstag', 'text', 'default' => "$geburtstag" ), 'geburtsort' => array( 'Geburtsort', 'text', 'default' => "$geburtsort" ), 'familie' => array( 'Familienstand', 'text', 'default' => "$familie" ), 'Aussehen', 'jahre' => array( 'Alter', 'text', 'default' => "$jahre" ), 'groese' => array( 'Größe', 'text', 'default' => "$groese" ), 'gewicht' => array( 'Gewicht', 'text', 'default' => "$gewicht" ), 'haarfarbe' => array( 'Haarfarbe', 'text', 'default' => "$haarfarbe" ), 'augenfarbe' => array( 'Augenfarbe', 'text', 'default' => "$augenfarbe" ), 'merkmale' => array( 'Besondere Merkmale', 'text', 'default' => "$merkmale" ), 'Vorlieben', 'lfarbe' => array( 'Liebste Farbe', 'text', 'default' => "$lfarbe" ), 'lzahl' => array( 'Liebste Zahl', 'text', 'default' => "$lzahl" ), 'lbuch' => array( 'Liebstes Buch', 'text', 'default' => "$lbuch" ), 'lspeise' => array( 'Liebste Speiße', 'text', 'default' => "$lspeise" ), 'lgetraenk' => array( 'Liebstes Getränk', 'text', 'default' => "$lgetraenk" ), 'lwaffe' => array( 'Bevorzugte Waffe', 'text', 'default' => "$lwaffe" ), 'Haustier', 'hname' => array( 'Name des Haustiers', 'text', 'default' => "$hname" ), 'hart' => array( 'Art des Haustier', 'text', 'default' => "$hart" ), 'hbesonderes' => array( 'Besonderheiten des Haustier', 'text', 'default' => "$hbesonderes" ), 'Besonderes', 'totfeind' => array( 'Totfeind', 'text', 'default' => "$totfeind" ), 'lebensmotto' => array( 'Lebensmotto', 'text', 'default' => "$lebensmotto" ), ); $Showform = new Showform('Dein Charakter', $form, ($i = ($row = array()))); $Showform->enableSave(); # Lässt man das Weg, dann lässt sich das FOrmuler nicht speichern (Kein Submit-Button) output ("<form action=\"charabogen.php?op=save\" method=\"post\">",true); output("`c`b`2$cname`b`c`n"); //$Showform->getOut(); # Ausgabe, geht auch mit: unset($Showform); unset($Showform); output ('</form>',true); page_footer(); ?> [/php] |
Autor: | Eliwood [ Mo 16 Jul, 2007 20:22 ] |
Betreff des Beitrags: | |
Noch nie Formulare ausgewertet? Das nimmt dir die showform() nicht ab. Alle Felder findest du mit den neuen Werten im superglobalen Array $_POST. Wie mans auswertet sieht man in der user.php, configuration.php, prefs.php ^^ PS: Du musst nicht default mit dem Wert aus der Datenbank versetzen ![]() |
Autor: | Song Sinen [ Mo 16 Jul, 2007 21:55 ] |
Betreff des Beitrags: | |
^^ Das "noch nie"... trifft's. Ok, dann mach ich das so. ![]() |
Autor: | Auric [ Mo 16 Jul, 2007 23:11 ] |
Betreff des Beitrags: | |
Das ganze noch erst in eirner variable zweischenzuspeichern ist aber unsinnig.. wenn dann solltest du es eher so machen: [php] $form = array( 'Herkunft', 'geburtsname' => array( 'Geburtsname', 'text', 'default' => $row['geburtsname'] ), 'geburtstag' => array( 'Geburtstag', 'text', 'default' => $row['geburtstag'] ), 'geburtsort' => array( 'Geburtsort', 'text', 'default' => $row['geburtsort'] ), 'familie' => array( 'Familienstand', 'text', 'default' => $row['familie'] ), 'Aussehen', 'jahre' => array( 'Alter', 'text', 'default' => $row['jahre'] ), 'groese' => array( 'Größe', 'text', 'default' => $row['groese'] ), 'gewicht' => array( 'Gewicht', 'text', 'default' => $row['gewicht'] ), 'haarfarbe' => array( 'Haarfarbe', 'text', 'default' => $row['haarfarbe'] ), 'augenfarbe' => array( 'Augenfarbe', 'text', 'default' => $row['augenfarbe'] ), 'merkmale' => array( 'Besondere Merkmale', 'text', 'default' => $row['merkmale'] ), 'Vorlieben', 'lfarbe' => array( 'Liebste Farbe', 'text', 'default' => $row['lfarbe'] ), 'lzahl' => array( 'Liebste Zahl', 'text', 'default' => $row['lzahl'] ), 'lbuch' => array( 'Liebstes Buch', 'text', 'default' => $row['lbuch'] ), 'lspeise' => array( 'Liebste Speiße', 'text', 'default' => $row['lspeise'] ), 'lgetraenk' => array( 'Liebstes Getränk', 'text', 'default' => $row['lgetraenk'] ), 'lwaffe' => array( 'Bevorzugte Waffe', 'text', 'default' => $row['lwaffe'] ), 'Haustier', 'hname' => array( 'Name des Haustiers', 'text', 'default' => $row['hname'] ), 'hart' => array( 'Art des Haustier', 'text', 'default' => $row['hart'] ), 'hbesonderes' => array( 'Besonderheiten des Haustier', 'text', 'default' => $row['hbesonderes'] ), 'Besonderes', 'totfeind' => array( 'Totfeind', 'text', 'default' => $row['totfeind'] ), 'lebensmotto' => array( 'Lebensmotto', 'text', 'default' => $row['lebensmotto'] ), ); [/php] Oder aber gleich über eine Schleife die felder durchlaufen lassen, wenn alle nur von selben typ sind. |
Autor: | Song Sinen [ Di 17 Jul, 2007 12:43 ] |
Betreff des Beitrags: | |
Ok, ich fügs mal im ersten Post ein. Das mit dem auf-default-verzichten hab ich nicht ganz so kapiert Elli. ![]() |
Autor: | Eliwood [ Di 17 Jul, 2007 16:43 ] |
Betreff des Beitrags: | |
Song Sinen hat geschrieben: Ok, ich fügs mal im ersten Post ein.
Das mit dem auf-default-verzichten hab ich nicht ganz so kapiert Elli. ![]() [php]$showform = new Showform('Dein Charakter', $form, $row);[/php] |
Autor: | Song Sinen [ Di 17 Jul, 2007 18:50 ] |
Betreff des Beitrags: | |
Hm, wenn ich [php]$Showform = new Showform('Dein Charakter', $form, ($i = ($row = array())));[/php] mit [php]$showform = new Showform('Dein Charakter', $form, $row); [/php] ersetze kommt folgende Fehlermeldung: $this->bbcode_second_pass_code('', 'Fatal error: Call to a member function enableSave() on a non-object in /is/htdocs/wp1069703_DO6FJR9PDH/www/charabogen.php on line 187') (In der betreffenden Zeile) |
Autor: | december [ Mo 01 Okt, 2007 14:30 ] |
Betreff des Beitrags: | |
Mal wieder ich mit einer Frage und einer Bitte. Ich finde die Idee mit dem Charakterbogen ganz gut und würde es gerne bei mri einbauen, das einzige Problem ich kann mit Eliwoods Showform nichts anfangen, da ich PHP4 haben. Wie kann ich es schaffen, dass dieses Skript auch ohne die Showform läuft? December |
Autor: | Eliwood [ Di 02 Okt, 2007 18:58 ] |
Betreff des Beitrags: | |
Song Sinen hat geschrieben: Hm, wenn ich
[php]$Showform = new Showform('Dein Charakter', $form, ($i = ($row = array())));[/php] mit [php]$showform = new Showform('Dein Charakter', $form, $row); [/php] ersetze kommt folgende Fehlermeldung: $this->bbcode_second_pass_code('', 'Fatal error: Call to a member function enableSave() on a non-object in /is/htdocs/wp1069703_DO6FJR9PDH/www/charabogen.php on line 187') Sorry, das s gehört natürlich gross. Dass ich diesen Post nicht früher gelesen hab... Oo @December: Gehen tuts natürlich. Einfach das layout-Array auf die Funktion showform() umschreiben und dann geht das. (In der betreffenden Zeile) |
Autor: | Inistha [ Mo 02 Nov, 2009 18:30 ] |
Betreff des Beitrags: | Re: Charakterbogen für Bio |
Hey, ihr Lieben ![]() Ich weiß, dass der Thread schon ein paar Jahre zurückliegt. Aber der Charakterbogen ist genau das, was wir für unseren Server gesucht haben. Nur hat sich mir nach dem Einbau ein Problem offenbart: Die eingegebenen Informationen werden weder in den Einstellungen des Charakterbogens, noch im Charakterbogen (der, der über die Bio erreichbar ist) selbst, noch in der Datenbank gespeichert. Jetzt wollte ich fragen, ob jemand vielleicht weiß woran das liegen könnte...bzw. ob das schon jemanden aufgefallen ist? Danke schon einmal, Inistha |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |