YourWBB


yourWBB » WoltLab Burning Board Generation 2 * » Alles von und für das WBB Lite 1.0.x » [WBB Lite 1.0.x] Ideen, Wünsche und Suche » Von Profil zu Listenerstellungshack » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 8.857 Views | | Thema zu Favoriten hinzufügen
Seiten (4): [1] 2 3 4 nächste »
Neues Thema erstellen Antwort erstellen

Dieses Thema wurde als unerledigt markiert. Thread unerledigt

Zum Ende der Seite springen Von Profil zu Listenerstellungshack
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Raylan Raylan ist weiblich
Mitglied


images/avatars/avatar-5826.gif

Dabei seit: 02.06.13
Beiträge: 63
Fähigkeiten: WBB Lite 1 Anfänger
Forenversion: Lite 1.0

 Von Profil zu Listenerstellungshack Antworten Zitieren Editieren Melden       UP

Hi ihr Süßen ich bins mal wieder.

Was ich heute suche ist eigentlich ganz einfach und zwar einen hack oder eine mögliche Erklärung wie man durch Eintragungen im Profil in einem Thread/einer aufrufbaren template zb. eine eigens festgelegte Geburtstags oder Namensliste erstellen kann.

Also als Beispiel: Im Profil stelle ich den 05.03.1992 als mein Geburtsdatum ein. Das Forum rechnet aus wie alt ich bin und erstellt mir dann anderen Orts eine Template mit:

21 Jahre
05.03.1992 - Raylan

Bzw Avatare:
Im Profil eingeben Emma Watson und in einer externen liste (Alphabetisch geordnet) wird dann eingetragen:

Emma Watson - Raylan

es wäre wirklcih lieb wenn mir jemand sagen könnte ob es soetwas schon gibt und wenn nicht sich vielleicht die Zeit nehmen würde mir zu helfen soetwas zu schreiben? (php ist doch so eine sache.....^^)

Vielen lieben dank für eure Ideen schonmal im voraus <3
23.01.14 20:05 Raylan ist offline Finden Als Freund hinzufügen
RobertWienecke RobertWienecke ist männlich
Mitglied


Dabei seit: 01.02.09
Beiträge: 40
Fähigkeiten: WBB3 Anfänger; WBB2 Profi; WBB Lite 2 Anfänger; WBB Lite 1 Profi
Herkunft: Niedersachsen
Forenversion: 2.3; 1.2

Antworten Zitieren Editieren Melden       UP

Verstehe ich nicht so ganz, wie du es beschrieben hast.
Noch einmal step-by-step bitte, und so ausführlich wie es geht:

Was soll es machen
Wie soll es gehen
Wo soll man rauf
Was soll angezeigt werden
etc.

Dann kann man auch bestmögliche Hilfestellung geben.
23.01.14 22:45 RobertWienecke ist offline E-Mail Finden Als Freund hinzufügen Füge RobertWienecke in deine Kontaktliste ein
Schrimm
Banned


Dabei seit: 21.08.11
Beiträge: 700

Antworten Zitieren Editieren Melden       UP

Hallo,

Das gibt es in dieser Form, soweit ich weiß, noch nicht.
Sollte aber kein Problem darstellen sowas zu erstellen.

Die Frage ist jetzt nur, ob du etwas dabei lernen willst, oder nur das fertige Produkt haben willst. Augenzwinkern
24.01.14 11:14 Schrimm ist offline Finden Als Freund hinzufügen
Raylan Raylan ist weiblich
Mitglied


images/avatars/avatar-5826.gif

Dabei seit: 02.06.13
Beiträge: 63
Fähigkeiten: WBB Lite 1 Anfänger
Forenversion: Lite 1.0

Themenstarter Thema begonnen von Raylan
Antworten Zitieren Editieren Melden       UP

Heeey großes Grinsen

:3 ich habe mich auch mal schlau gemacht und im KaXrikaturenforum sogar was gefunden nämlich dies hier *klick* allerdings bin ich mir nicht so ganz sicher, ob ich wirklich verstehe was da vor sich geht und ob ich dass dann anwenden kann.... :3

Zu deiner Frage, das fertige Produkt ist mir sehr recht allerdings weiß ich immer gerne wie was funktioniert.... :3 da ich allerdings absolut keine wirkliche Ahnung von Php habe.... weiß ich nicht wie viel Aufwand es dir dann macht mir das zu erklären^^ Augen rollen

:3 aber ich würde mir auf JEDEN Fall Mühe geben zu verstehen!! Freude

@RobertWienecke

also ich will dass man über ein (mehrere) neue/s Profilfeld(er), dass der User selbst ausfüllen kann eine (mehrere) html liste(n) erstellt.

Zum einen durch einstellung des Gebutstags des Charakters soll eine Geburtstagsliste nach Jahrestagen geordnet entstehen, die dann auch gleich noch angibt, wie alt der Charakter ist also als Beispiel:
der user blubb gibt ein 13.12.2013
der user nomm gibt ein 17.01.2010
Dann will ich eine liste haben in der geordnet nach den Jahreszahlen das so notiert wird:

code:
1:
2:
3:
4:
<table border="1"><tr><td rowspan="3">2010 (als übergeordnete Jahreszahl)</td></tr>
<tr><td>17.01.2010</td><td>4 Jahre</td><td>nomm</td></tr>
<tr><td rowspan="3">2013 (als übergeordnete Jahreszahl)</td></tr>
<tr><td>13.12.2013</td><td>1 Jahr</td><td>blubb</td></tr></table>


so in dieser form, wobei die tpl vllt noch veränderbar gemacht werden sollte.... Sprich das ziel ist, dass ich nicht selbst die Tabellen programmieren muss sondern durch die eingabe der User im Profil diese Tabelle generiert wird und ich die html form einfach in einem beitrag anstatt der von mir sonst mühsam geschriebenen liste ersetzen kann Augenzwinkern

das mit den Avataren ist vermutlich leichter zu erklären, also ich will dass die User im Profil ein Feld haben wo sie die Avatarperson eintragen können zb Sasha Alexander ist der ava von blubb und Richard Armitage der von nomm
die liste soll dann so aussehen:
code:
1:
2:
3:
4:
<table><tr><td>Alexander, Sasha
>>[url=profil]blubb[/url]</td><td>A</td><td>Armitage, Richard
>>[url=profil]nomm[/url]</td>
<tr><td></td><td>B</td><td></td></table>

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Raylan: 24.01.14 15:39.

24.01.14 14:29 Raylan ist offline Finden Als Freund hinzufügen
Schrimm
Banned


Dabei seit: 21.08.11
Beiträge: 700

Antworten Zitieren Editieren Melden       UP

Hallo,

Du musst kein "php" können, es reicht, wenn du mitdenkst, damit du auch das wbb besser kennenlernst. Augenzwinkern

Bestehen die Felder im Profil bereits oder müssen die noch erzeugt werden?
24.01.14 18:33 Schrimm ist offline Finden Als Freund hinzufügen
Raylan Raylan ist weiblich
Mitglied


images/avatars/avatar-5826.gif

Dabei seit: 02.06.13
Beiträge: 63
Fähigkeiten: WBB Lite 1 Anfänger
Forenversion: Lite 1.0

Themenstarter Thema begonnen von Raylan
Antworten Zitieren Editieren Melden       UP

Die müssen noch erzeugt werden :3 && Freude ich versuche mit zu denken!! Und es zu verstehen, denn ich will ja auch wissen was ich so in meinem Bord drinnen hab Freude
24.01.14 22:38 Raylan ist offline Finden Als Freund hinzufügen
Schrimm
Banned


Dabei seit: 21.08.11
Beiträge: 700

Antworten Zitieren Editieren Melden       UP

Hallo,

Gibt es im Profil noch keine "Altersangabe" oder brauchst du jene separat?
Normalerweise sollte das "Geburtsdatum" bereits vorhanden sein.
25.01.14 13:33 Schrimm ist offline Finden Als Freund hinzufügen
Raylan Raylan ist weiblich
Mitglied


images/avatars/avatar-5826.gif

Dabei seit: 02.06.13
Beiträge: 63
Fähigkeiten: WBB Lite 1 Anfänger
Forenversion: Lite 1.0

Themenstarter Thema begonnen von Raylan
Antworten Zitieren Editieren Melden       UP

Hey, also natürlich gibt es das Geburtstagsdatum, aber das ist ja eigentlich für den User im Normalfall, aber das können wir auch gerne schon hernehmen für den Hack ich muss dass dann in der profil temp einfach kennzeichnen :3
das heißt klar können wir den benutzen.
Im grunde kannst du von einem ganz frisch aufgespielten 1.0.2. Bord ausgehen noch ohne große Veränderungen ich bin auch grad erst am anfang mit den Hacks einbauen und ich denke so schnell werd ich da am profil sicher nichts rumschrauben Augenzwinkern (vllt den Iconhack einbauen oder so^^)

&& Nope die Altersangabe selbst also dass er mir ausspuckt wie alt ich bin wenn ich mein b-Day datum eingebe gibt es nicht im Profil, die hätte ich allerdings gerne smile

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Raylan: 25.01.14 16:21.

25.01.14 16:16 Raylan ist offline Finden Als Freund hinzufügen
Schrimm
Banned


Dabei seit: 21.08.11
Beiträge: 700

Antworten Zitieren Editieren Melden       UP

Hallo,

Das ist doch ein guter Anfang.

Du willst ein "zweites" Geburtsdatum im Profil?
Wo würde man da nun ansetzen?

Eventuell eine Idee?
26.01.14 12:11 Schrimm ist offline Finden Als Freund hinzufügen
Raylan Raylan ist weiblich
Mitglied


images/avatars/avatar-5826.gif

Dabei seit: 02.06.13
Beiträge: 63
Fähigkeiten: WBB Lite 1 Anfänger
Forenversion: Lite 1.0

Themenstarter Thema begonnen von Raylan
Antworten Zitieren Editieren Melden       UP

Einen schönen Sonntag <3

Okay. Also für dieses Zweite Geburtsdatum brauche ich ja nen neuen eintrag in der Datenbank. dh ich müsste die profile.php bearbeiten und das ganze so ähnlich regeln wie für den teil von dem ersten "Geburtsdatum", nicht?

also das Geburtsdatum normal wird in der profile.php so geregelt:

php:
1:
2:
3:
4:
5:
6:
if($user_info['birthday'] && $user_info['birthday']!="0000-00-00") {
 $birthday_array explode("-",$user_info['birthday']);
 if($birthday_array[0]=="0000"$birthday =  $birthday_array[2].".".$birthday_array[1].".";
 else $birthday =  $birthday_array[2].".".$birthday_array[1].".".$birthday_array[0];
}
else eval ("\$birthday = \"".$tpl->get("profile_nodeclaration")."\";");
26.01.14 12:52 Raylan ist offline Finden Als Freund hinzufügen
Schrimm
Banned


Dabei seit: 21.08.11
Beiträge: 700

Antworten Zitieren Editieren Melden       UP

Richtig, das ist aber nur die Anzeige und nicht die "Eingabe". Augenzwinkern

Die Eingabe befindet sich in der usercp_php.
26.01.14 12:57 Schrimm ist offline Finden Als Freund hinzufügen
Raylan Raylan ist weiblich
Mitglied


images/avatars/avatar-5826.gif

Dabei seit: 02.06.13
Beiträge: 63
Fähigkeiten: WBB Lite 1 Anfänger
Forenversion: Lite 1.0

Themenstarter Thema begonnen von Raylan
Antworten Zitieren Editieren Melden       UP

Okay, da hast du recht großes Grinsen ich war mal wieder einfach zu schnell okay, also in der usercp.php

hab ich folgende stücke gefunden mit dem b-day:

php:
1:
2:
if($r_day && $r_month$birthday=ifelse(strlen($r_year)==4,$r_year,ifelse(strlen($r_year)==2,"19$r_year","0000"))."-".ifelse($r_month<10,"0$r_month",$r_month)."-".ifelse($r_day<10,"0$r_day",$r_day);
   else $birthday "0000-00-00";


ich nehme an dass das einfach nochmal die Angabe ist, wie der Geburtstag ausgespuckt werden soll?

php:
1:
2:
$db->query("UPDATE bb".$n."_users SET email='".addslashes(htmlspecialchars_old($r_email))."', usertext='".addslashes(htmlspecialchars_old($r_usertext))."', icq='".intval($r_icq)."', aim='".addslashes(htmlspecialchars_old($r_aim))."', yim='".addslashes(htmlspecialchars_old($r_yim))."', msn='".addslashes(htmlspecialchars_old($r_msn))."',icon='".addslashes(htmlspecialchars_old($r_icon))."', homepage='".addslashes(htmlspecialchars_old($r_homepage))."', birthday='".addslashes(htmlspecialchars_old($birthday))."', gender='".intval($r_gender)."'".ifelse($rankid!=$wbbuserdata['rankid'],", rankid='$rankid'","")." WHERE userid = '$wbbuserdata[userid]'");
   if($fieldvalues$db->query("UPDATE bb".$n."_userfields SET $fieldvalues WHERE userid = '$wbbuserdata[userid]'");


das legt fest dass eben der Geburtstag ausgespuckt wird wenn ich $birthday verwende oder?^^ also dass die Datenbank dann angesprochen wird.

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
else {
  $r_email $wbbuserdata['email'];
  $r_homepage $wbbuserdata['homepage'];
  $r_icq $wbbuserdata['icq'];
  $r_aim $wbbuserdata['aim'];
  $r_yim $wbbuserdata['yim'];
  $r_msn $wbbuserdata['msn'];
  $r_icon $wbbuserdata['icon'];
  $birthday=explode("-",$wbbuserdata['birthday']);
  $r_day $birthday[2];
  $r_month $birthday[1];
  $r_year ifelse($birthday[0],$birthday[0],"");
  $r_gender $wbbuserdata['gender'];
  $r_usertext $wbbuserdata['usertext'];
  $userfields $db->query_first("SELECT * FROM bb".$n."_userfields WHERE userid='$wbbuserdata[userid]'");
 }


hier wird glaube ich nochmal speziell festgelegt was in meiner späteren Bezeichnung einfach die eingaben sind man sieht ja oben in der profile.php hab ich auch birthday[0] und so angegeben, dass die "Vokabel" Zuordnung der Sprache stimmt. Soooo jetzt darfst du mir sagen inwieweit ich mich irre fröhlich oder ob ich was übersehen habe Augenzwinkern
26.01.14 13:08 Raylan ist offline Finden Als Freund hinzufügen
Schrimm
Banned


Dabei seit: 21.08.11
Beiträge: 700

Antworten Zitieren Editieren Melden       UP

Die Suchstellen sehen recht gut aus.

Das Erste "erstellt" dir die Anordnung so, wie es in der Datenbank stehen wird.

Das Zweite schreibt dir deine Daten einfach in die Datenbank, damit du sie später auch abrufen kannst.

Die letzte Suchstelle dient dazu, dass das Geburtsdatum eines Benutzers bei der Bearbeitung überhaupt angezeigt wird.
Jene Angabe kommt aus der Datenbank und wird damit in das "Formular" eingefügt.

Ich nehme an, dass es für eine Art "Rollenspiel" gedacht ist, wodurch wir uns nun eine komplett eigene Seite erstellen sollte, wo man seinen "Charakter" bearbeiten kann oder soll es über das Profil geregelt werden?

Ich würde jedoch wie folgt anfangen:
php:
1:
2:
3:
if($action=="character_edit") {
 eval("\$tpl->output(\"".$tpl->get("usercp_character_edit")."\");");
}


Es muss noch eine "usercp_character_edit.tpl" erstellt werden, die dein Eingabeformular entspricht.
In deinem Falle, eine Eingabe für Geburtsdatum und Avatar.
26.01.14 13:21 Schrimm ist offline Finden Als Freund hinzufügen
Raylan Raylan ist weiblich
Mitglied


images/avatars/avatar-5826.gif

Dabei seit: 02.06.13
Beiträge: 63
Fähigkeiten: WBB Lite 1 Anfänger
Forenversion: Lite 1.0

Themenstarter Thema begonnen von Raylan
Antworten Zitieren Editieren Melden       UP

Huhu großes Grinsen
Ja, das ist für einen Charakter, diese Eingaben sollen über das UserCP vom User bearbeitet werden können, allerdings auch nur von schon angenommenen usern & es soll nicht im Profil (treads oder profil des users) dargestellt werden sondern in ner extra temp/Beitrag eben für Geburtstage und Avatarliste :3

also du meinst das was du geschrieben hast in meine usercp.php einfügen und dann so etwas:

code:
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:
{!DOCTYPE}
<html>
 <head>
  <title>$master_board_name - Profil bearbeiten</title>
  $headinclude
 </head>
 <body id="bg">
  $header
  <tr bgcolor="{tablecolora}" id="tablea">
  <td><table cellpadding=0 cellspacing=0 border=0 width="100%">
   <tr>
    <td><smallfont><b><a href="index.php?sid=$session[hash]">$master_board_name</a> » <a href="usercp.php?sid=$session[hash]">Kontrollzentrum von $wbbuserdata[username]</a> » Profil bearbeiten</b></font></td>
    <td align="right"><smallfont><b>$usercbar</b></font></td>
   </tr>
  </table></td>
 </tr>
</table><br>$usercp_error
  <FORM ACTION="usercp.php" METHOD="POST"><table cellpadding=4 cellspacing=1 border=0 bgcolor="{tableinbordercolor}" width="{tableinwidth}">
   <tr bgcolor="{tablecatcolor}" id="tablecat">
    <td colspan=2><normalfont color="{fontcolorthird}"><b>» Profil bearbeiten</b></font></td>
   </tr>
   <tr bgcolor="{tabletitlecolor}" id="tabletitle">
    <td colspan=2><smallfont color="{fontcolorsecond}"><b>» Charakter Information</b></font></td>
   </tr>
   <tr id="tableb" bgcolor="{tablecolorb}"><td ><normalfont><b>Geburtsdatum:</b></font></td>
    <td><table>
     <tr>
      <td><smallfont>Tag</font></td>
      <td><smallfont>Monat</font></td>
      <td><smallfont>Jahr</font></td>
     </tr>
     <tr>
      <td><select name="r_day">
       <option value="0"></option>
       $day_options
      </select></td>
      <td><select name="r_month">
       <option value="0"></option>
       $month_options
      </select></td>
      <td><input type="text" class="input" name="r_year" value="$r_year" maxlength="4" size=5></td>
     </tr>
	 </table></td>
	 </tr>
	 </table>
	 </form>
  $footer
 </body>
</html>


erstellen (hier nur die Geburstagsfunktion der normalen user_profil_edit.temp übernommen) und dass dann unter usercp_character_edit.tpl speichern und hochladen verwirrt

Edit: bin mal für ne weile afk Mittagessen <3

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Raylan: 26.01.14 13:35.

26.01.14 13:34 Raylan ist offline Finden Als Freund hinzufügen
Schrimm
Banned


Dabei seit: 21.08.11
Beiträge: 700

Antworten Zitieren Editieren Melden       UP

Genau so meine ich es.
Du musst natürlich noch einen Link in der "usercp.tpl" setzen.

Der in etwa wie folgt aussehen könnte:
php:
1:
2:
3:
4:
<td id="tablea" bgcolor="{tablecolora}" align="center" width="33%">
   <a href="usercp.php?action=character_edit&sid=$session[hash]"><img src="{imagefolder}/usercp_character_edit.gif" border=0></a><br>
   <normalfont><b><a href="usercp.php?action=character_edit&sid=$session[hash]">Charakter editieren</a></b></font><br>
   <smallfont>Hier k&ouml;nnen Sie Ihren Charakter bearbeiten.</font></td>


Natürlich musst du auch meinen zuvor geposteten Code, in die "usercp.php" einfügen.

Einfach über diesen Code einfügen:
php:
1:
if($action=="profile_edit") {


Du kannst ja mal testen, was passiert, wenn du diese Änderungen machst und auf "Profil" im Header klickst. Augenzwinkern

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Schrimm: 26.01.14 13:41.

26.01.14 13:38 Schrimm ist offline Finden Als Freund hinzufügen
Raylan Raylan ist weiblich
Mitglied


images/avatars/avatar-5826.gif

Dabei seit: 02.06.13
Beiträge: 63
Fähigkeiten: WBB Lite 1 Anfänger
Forenversion: Lite 1.0

Themenstarter Thema begonnen von Raylan
Antworten Zitieren Editieren Melden       UP

Augenzwinkern natürlich wird mir im Moment noch kein bild angezeigt und der rest der Tabelle ist noch schwarz ich werde einfach das html so abändern:
php:
1:
2:
3:
4:
<td colspan="3" id="tablea" bgcolor="{tablecolora}" align="center" width="33%">
   <a href="usercp.php?action=character_edit&sid=$session[hash]"><img src="{imagefolder}/usercp_character_edit.gif" border=0></a><br>
   <normalfont><b><a href="usercp.php?action=character_edit&sid=$session[hash]">Charakter editieren</a></b></font><br>
   <smallfont>Hier k&ouml;nnen Sie Ihren Charakter bearbeiten.</font></td>

falls ich noch einen solchen punkt im Kontrollzentrum benötige, dann kann ich dass auch wieder umbauen :3

So weiter:
ich hab alles eingefügt und sieht schon absolut gar nicht schlecht aus. Problem ist nun nur, dass ich keine Eingabe machen kann weil die Tage und Monate nicht angezeigt werden.

da muss ich nun noch die
php:
1:
2:
3:
$r_day $birthday[2];
  $r_month $birthday[1];
  $r_year ifelse($birthday[0],$birthday[0],"");

Options für definieren nicht?
26.01.14 14:17 Raylan ist offline Finden Als Freund hinzufügen
Schrimm
Banned


Dabei seit: 21.08.11
Beiträge: 700

Antworten Zitieren Editieren Melden       UP

Also wir sollten nun dieses Template haben:
php:
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:
{!DOCTYPE}
<html>
 <head>
  <title>$master_board_name Charakter bearbeiten</title>
  $headinclude
 </head>
 <body id="bg">
  $header
  <tr bgcolor="{tablecolora}" id="tablea">
  <td><table cellpadding=0 cellspacing=0 border=0 width="100%">
   <tr>
    <td><smallfont><b><a href="index.php?sid=$session[hash]">$master_board_name</a» <a href="usercp.php?sid=$session[hash]">Kontrollzentrum von $wbbuserdata[username]</a» Charakter bearbeiten</b></font></td>
    <td align="right"><smallfont><b>$usercbar</b></font></td>
   </tr>
  </table></td>
 </tr>
</table><br>
  <form action="usercp.php" method="post"><table cellpadding=4 cellspacing=1 border=0 bgcolor="{tableinbordercolor}" width="{tableinwidth}">
   <tr bgcolor="{tablecatcolor}" id="tablecat">
    <td colspan=2><normalfont color="{fontcolorthird}"><b>» Charakter bearbeiten</b></font></td>
   </tr>
   <tr id="tablea" bgcolor="{tablecolora}">
    <td ><normalfont><b>Geburtsdatum:</b></font></td>
    <td><table>
     <tr>
      <td><smallfont>Tag</font></td>
      <td><smallfont>Monat</font></td>
      <td><smallfont>Jahr</font></td>
     </tr>
     <tr>
      <td><select name="cr_day">
       <option value="0"></option>
       $day_options
      </select></td>
      <td><select name="cr_month">
       <option value="0"></option>
       $month_options
      </select></td>
      <td><input type="text" class="input" name="cr_year" value="$cr_year" maxlength="4" size=5></td>
     </tr>
    </table></td>
   </tr>
  </table><br>
  <p align="center"><input class="input" type="submit" value="Speichern"> <input class="input" type="reset" value="Zur&uuml;cksetzen"></p>
   <input type="hidden" name="action" value="$action">
   <input type="hidden" name="send" value="send">
   <input type="hidden" name="sid" value="$session[hash]">
  </form>
  $footer
 </body>
</html>


Nun müssen wir "Optionen" erstellen.
Das ist im Prinzip ganz einfach:
php:
1:
2:
for($i=1;$i<=31;$i++) $day_options.=makeoption($i,$i,$cr_day);
 for($i=1;$i<=12;$i++) $month_options.=makeoption($i,getmonth($i),$cr_month);


Unser "php"-Code sollte nun so aussehen:
php:
1:
2:
3:
4:
5:
6:
7:
if($action=="character_edit") {

 for($i=1;$i<=31;$i++) $day_options.=makeoption($i,$i,$cr_day);
 for($i=1;$i<=12;$i++) $month_options.=makeoption($i,getmonth($i),$cr_month);

 eval("\$tpl->output(\"".$tpl->get("usercp_character_edit")."\");");
}

Das sind einfach zwei Schleifen die von 1 - 31 bzw. 1 - 12 laufen und unsere Variablen "$day_options" bzw. "$month_options" mit den entsprechenden Daten füllen.
"makeoption" ist eine Funktion vom wbb, die einen Tag vorauswählt, falls der Benutzer schon bereits etwas ausgwählt hat.

Nun bereiten wir den Eintrag in die Datenbank vor.
Dies bedeutet, dass wir vom Formular, das bereits existiert, Daten an die "php"-Datei übergeben.
Die Übergabe erfolgt ebenfalls schon, wir müssen nur mehr der "php"-Datei sagen, wie sie damit umgehen soll.

Somit brauchen wir etwas wie:
php:
1:
2:
3:
if(isset($_POST['cr_day'])) $cr_day trim($_POST['cr_day']);
if(isset($_POST['cr_month'])) $cr_month trim($_POST['cr_month']);
if(isset($_POST['cr_year'])) $cr_year trim($_POST['cr_year']);

Bekommen wir also per "method=post" Daten überliefert, stehen uns jene nun in den Variablen "$cr_day, $cr_month und $cr_year" zu Verfügung.

Wir könnten auch direkt mit "$_POST['cr_day'],$_POST['cr_month'] und $_POST['cr_year']" arbeiten, da jene "Variablen" bereits unseren gewünschten Inhalt besitzen.
Ist reine Geschmackssache, was man nun verwendet und wie man damit weiter umgeht.

Somit haben wir einen php Code, der wie folgt aussieht:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
if($action=="character_edit") {
 if(isset($_POST['send'])) {
  if(isset($_POST['cr_day'])) $cr_day trim($_POST['cr_day']);
  if(isset($_POST['cr_month'])) $cr_month trim($_POST['cr_month']);
  if(isset($_POST['cr_year'])) $cr_year trim($_POST['cr_year']);
 }

 for($i=1;$i<=31;$i++) $day_options.=makeoption($i,$i,$cr_day);
 for($i=1;$i<=12;$i++) $month_options.=makeoption($i,getmonth($i),$cr_month);

 eval("\$tpl->output(\"".$tpl->get("usercp_character_edit")."\");");
}

Die Zeile "if(isset($_POST['send']))" sagt nur, dass der Code innerhalb seiner geschweiften Klammern nur dann ausgeführt wird, wenn auch wirklich das Formular abgesendet wurde.
Also mit einen Klick auf "Speichern".

Eine Idee wie es nun weitergeht bzw. was als nächstes Interessant wäre?

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Schrimm: 26.01.14 14:50.

26.01.14 14:46 Schrimm ist offline Finden Als Freund hinzufügen
Raylan Raylan ist weiblich
Mitglied


images/avatars/avatar-5826.gif

Dabei seit: 02.06.13
Beiträge: 63
Fähigkeiten: WBB Lite 1 Anfänger
Forenversion: Lite 1.0

Themenstarter Thema begonnen von Raylan
Antworten Zitieren Editieren Melden       UP

Hm... nachdem wir nun unsere Datenbank erstellt haben und unseren Abruf geregelt haben, wäre es interessant, wie man diese Datenbank dazu bringt anhand der Daten auszuspucken wie alt der Charakter ist natürlich auf ein fix Jahr bezogen, dass man selbst einstellen kann :3 Ich denke das macht im Moment schonmal mehr sinn als gleich die Ausgabe des ganzen in einer externen temp zu regeln, nicht wahr?

ich hab nochmal ne frage zu deinen codes was genau macht $i ? also $cr_day gibt mir ja die Referenzen zu
php:
1:
if(isset($_POST['cr_day'])) $cr_day trim($_POST['cr_day']);

Aber was genau macht $i?

&& es ist voll lieb von dir dass du das ganze so super interaktiv gestalltest fröhlich haha ich bin voll happy weil mir das das Gefühl gibt als würde ich voll was verstehen und dabei lerne ich auch was großes Grinsen vielen vielen Dank, dass du dir die Zeit hierfür nimmst Freude Blume
26.01.14 15:09 Raylan ist offline Finden Als Freund hinzufügen
Schrimm
Banned


Dabei seit: 21.08.11
Beiträge: 700

Antworten Zitieren Editieren Melden       UP

Ich nehme an du meinst dies mit "$i":
php:
1:
for($i=1;$i<=31;$i++) $day_options.=makeoption($i,$i,$cr_day);


Die Schleife beginnt bei "$i" = "1".
Das heißt, unsere Variable "$i", die nur innerhalb der Schleife existiert, hat den Wert "1".
Die Schleife wird so lange ausgeführt, bis die Variable "$i" den Wert "32" erreicht.
Nach jedem Schleifendurchgang wird "$i" um den Wert "1" erhöht und nimmt also die Werte von "1" - "31" an. Dies sagt uns "$i++".
Was "$i" in der "makeoption" macht, müssen wir uns in jener Funktion ansehen.
Diese befindet sich in der "acp/lib/functions.php":
function
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
makeoption($value,$text,$selected_value="",$selected=1,$style="") {
 $option_selected="";
 if($selected==1) {
  if(is_array($selected_value)) {
   if(in_array($value,$selected_value)) $option_selected=" selected";
  }
  elseif($selected_value==$value$option_selected=" selected";
 }
 return "<option value=\"$value\"".ifelse($style!=""," style=\"color:$style\"").$option_selected.">$text</option>";
}

Der jeweils aktuelle Wert von "$i" wird also in "$value" und "$text" geschrieben und daraus wird, dann unsere "Option" zum auswählen erstellt. Augenzwinkern


Die Datenbank haben wir noch nicht erstellt, sondern nur etwas vorarbeit geleistet.
Zuerst müssen wir unsere Datenbank erstmal für die Daten vorbereiten.
Dazu brauchen wir Tabellen und Spalten.
Da wir das nun etwas gesondert verwendet, können wir gleich eine neue Tabelle erstellen.
Wir wollen zwei Werte in die Datenbank eintragen: "Geburtstag" und später das "Avatar".

Also erstellen wir eine Tabelle mit DREI Spalten.
Drei Spalten deshalb, weil wir dies ja auch einzelnen Benutzern zuweisen wollen.
php:
1:
2:
3:
4:
5:
6:
CREATE TABLE bb1_character (
  userid int(11unsigned NOT NULL default '0',
  birthday date NOT NULL default '0000-00-00',
  avatarid int(11unsigned NOT NULL default '0',
  PRIMARY KEY (userid),
);

Dies musst du in der "SQL"-Datenbank ausführen.
Damit haben wir nun eine Datenbank, die bereit ist Daten aufzunehmen.

Nun müssen wir der "php"-Datei sagen, wie sie die Daten in die Datenbank bringt.

Eventuell eine Idee? (Du hattest sowas bereits gepostet)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Schrimm: 26.01.14 15:22.

26.01.14 15:21 Schrimm ist offline Finden Als Freund hinzufügen
Raylan Raylan ist weiblich
Mitglied


images/avatars/avatar-5826.gif

Dabei seit: 02.06.13
Beiträge: 63
Fähigkeiten: WBB Lite 1 Anfänger
Forenversion: Lite 1.0

Themenstarter Thema begonnen von Raylan
Antworten Zitieren Editieren Melden       UP

Danke für deine ERklärung <3
Zuerst wenn ich die Datenbank also tabelle erstellen will bekomme ich diesen fehler:
php:
1:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 6


ich hab genau das bei den SQL eingefügt was du gesagt hattest.... Augen rollen


Zu der Sache mit der datenbank war mein beispiel vorhin folgendes:
php:
1:
2:
$db->query("UPDATE bb".$n."_users SET email='".addslashes(htmlspecialchars_old($r_email))."', usertext='".addslashes(htmlspecialchars_old($r_usertext))."', icq='".intval($r_icq)."', aim='".addslashes(htmlspecialchars_old($r_aim))."', yim='".addslashes(htmlspecialchars_old($r_yim))."', msn='".addslashes(htmlspecialchars_old($r_msn))."',icon='".addslashes(htmlspecialchars_old($r_icon))."', homepage='".addslashes(htmlspecialchars_old($r_homepage))."', birthday='".addslashes(htmlspecialchars_old($birthday))."', gender='".intval($r_gender)."'".ifelse($rankid!=$wbbuserdata['rankid'],", rankid='$rankid'","")." WHERE userid = '$wbbuserdata[userid]'");
   if($fieldvalues$db->query("UPDATE bb".$n."_userfields SET $fieldvalues WHERE userid = '$wbbuserdata[userid]'");


könnte man das nun so umschreiben (?):
php:
1:
2:
$db->query("UPDATE bb".$n."_users SET birthday='".addslashes(htmlspecialchars_old($birthday))."';
if($fieldvalues) $db->query("UPDATE bb".$n."_userfields SET $fieldvalues WHERE userid '$wbbuserdata[userid]'");
26.01.14 15:46 Raylan ist offline Finden Als Freund hinzufügen
Seiten (4): [1] 2 3 4 nächste » Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Antwort erstellen

yourWBB » WoltLab Burning Board Generation 2 * » Alles von und für das WBB Lite 1.0.x » [WBB Lite 1.0.x] Ideen, Wünsche und Suche » Von Profil zu Listenerstellungshack