Leere Radiobuttons bzw. immer der 5. Button ist checked

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
gabriela
Mitglied
Beiträge: 27
Registriert: 02.04.2004 13:12

Leere Radiobuttons bzw. immer der 5. Button ist checked

Beitrag von gabriela »

Hallo,

vielleicht kann mir jemand helfen? Ich komme trotz Suche und Ausprobieren nicht weiter.
Ich habe die Registrierung um einen Fragebogen ergänzt. Wenn ich das Formular abschicke und die Emailadresse vergessen wurde, wird das Formular neu geladen. Problem: Die bereits ausgewählten Radiobuttons sind dann leer.
Vermute dass es an der usercp_register.php liegen muss und hab diese für die ersten 2 items wie folgt geändert:

Code: Alles auswählen

'ITEM1_1' => ( $item1 ) ? 'checked="checked"' : '',
'ITEM1_2' => ( $item1 ) ? 'checked="checked"' : '',
'ITEM1_3' => ( $item1 ) ? 'checked="checked"' : '',
'ITEM1_4' => ( $item1 ) ? 'checked="checked"' : '',
'ITEM1_5' => ( $item1 ) ? 'checked="checked"' : '',

und

$item1 = ( isset($HTTP_POST_VARS['item1']) ) ? ( ($HTTP_POST_VARS['item1']) ? TRUE : 0 ) : 0;
$item2 = ( isset($HTTP_POST_VARS['item2']) ) ? ( ($HTTP_POST_VARS['item2']) ? TRUE : 0 ) : 0;
$item3 = ( isset($HTTP_POST_VARS['item3']) ) ? ( ($HTTP_POST_VARS['item3']) ? TRUE : 0 ) : 0;
http://web154.ibiza049.server4free.de/p ... gister.txt

(müssen hier nicht jeweils 5 Optionen aufgelistet werden, entsprechend meiner 5 Radiobuttons? Wie übergebe ich die gewählte Option?)

Bei dieser Einstellung wird mein Formular mit ausgewählten Radiobuttons neu geladen. Problem: Es wird immer der letzte Button ausgewählt - egal welcher Button eigentlich gewählt worden ist.
Bei der ersten und zweiten Frage im Fragebogen wird dies deutlich:
http://web154.ibiza049.server4free.de/phpbb2/index.php (unter Anmelden)

Hat jemand eine Idee wie man das beheben könnte? :-?

Meine profile_add_body.tpl für die erste Frage sieht so aus:

Code: Alles auswählen

<tr><td width="39%"><font size="-1"><b>Frage1</b></font></td></tr>

	  <td class="row1"><span class="gen">{L_item1} </span></td>
	  <td class="row2">
		<input type="radio" name="item1" value="1" {ITEM1_1} />
		<span class="gen">{L_option1}</span></td>
		<td class="row2"><input type="radio" name="item1" value="2" {ITEM1_2} />
		<span class="gen">{L_option2}</span></td>
		<td class="row2"><input type="radio" name="item1" value="3" {ITEM1_3} />
		<span class="gen">{L_option3}</span></td>
		<td class="row2"><input type="radio" name="item1" value="4" {ITEM1_4} />
		<span class="gen">{L_option4}</span></td>
		<td class="row2"><input type="radio" name="item1" value="5" {ITEM1_5}/>
		<span class="gen">{L_option5}</span></td>
</tr>
http://web154.ibiza049.server4free.de/p ... d_body.tpl

Gruß
Gabriela

P.S. Gibt es sonst einen Mod für den Einbau von Radiobuttons? addnewfield kenne ich aber da gibt es nur Dropdownfelder glaube ich.
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag von D@ve »

Würde Dir empfehlen diesen Mod zu benutzen. Da ist ausführlich beschrieben, wie man neue Felder im User-Profil hinzufügt...

Gruß, Dave
There are only 10 types of people in the world: Those who understand binary, and those who don't
gabriela
Mitglied
Beiträge: 27
Registriert: 02.04.2004 13:12

Wie macht man 5 Radiobuttons in PHP???!

Beitrag von gabriela »

Hallo, danke für den Tip!
Hab meine usercp_register mit addoption_1 verglichen, scheint übereinzustimmen.
Aber was macht man, wenn man 5 Radiobuttons hat?!

Dann müsste ich doch in der usercp_register was ändern, da hier nur zwei Optionen eingestellt sind, so wie ich den code verstehe:

Code: Alles auswählen

$item1 = ( isset($HTTP_POST_VARS['item1']) ) ? ( ($HTTP_POST_VARS['item1']) ? TRUE : 0 ) : 0; 
$item2 = ( isset($HTTP_POST_VARS['item2']) ) ? ( ($HTTP_POST_VARS['item2']) ? TRUE : 0 ) : 0; 
$item3 = ( isset($HTTP_POST_VARS['item3']) ) ? ( ($HTTP_POST_VARS['item3']) ? TRUE : 0 ) : 0;
Bloß wie muss dann der code hier heißen?

Gruß,
Gabriela
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag von D@ve »

Du musst den hack dann nicht als Option (mit true/false) sondern die Variante für ein normales Textfeld benutzen.

Gruß, Dave
There are only 10 types of people in the world: Those who understand binary, and those who don't
gabriela
Mitglied
Beiträge: 27
Registriert: 02.04.2004 13:12

Wo werden die ausgewählten Radiobuttons übergeben?

Beitrag von gabriela »

Hallo,
und danke an Dave. Ich habe es mal mit dem Hack für ein normales Textfeld versucht. Trotzdem blieben die Radiobuttons nach einem Reload leer, obwohl sie vorher ausgewählt waren. Jetzt habe ich mal versucht, den Genderhack einzubauen (umbenannt in "Hobby"). Aber auch hier werden die bereits ausgewählten Radiobuttons nicht neu mitgeladen.
Wenn ich wüßte, an welcher Stelle dies festgelegt wird, wäre ich einen großen Schritt weiter... :-? Muss man irgendetwas an der profile.php verändern?
Vielleicht hat ja jemand Lust, mal in meinen Code zu schauen, ob der wenigstens so richtig ist? Das wäre eine große Hilfe!
Hier ein paar Auszüge aus den - wie ich glaube - entscheidenden Dateien:

profile_add_body.tpl:

Code: Alles auswählen

<tr>
      <td class="row1"><span class="gen">{L_HOBBY}:</span></td>
      <td class="row2">
      <input type="radio" name="hobby" value="1" {HOBBY_OPTION1}/>
      <span class="gen">{L_OPTION1}</span>
      </td>
      <td>
      <input type="radio" name="hobby" value="2" {HOBBY_OPTION2}/>
      <span class="gen">{L_OPTION2}</span>
      </td>
</tr>
usercp_register.php:

Code: Alles auswählen

validate_optional_fields($icq, ... , $geschlecht, $hobby);   
...
SET " . $username_sql . $passwd_sql . "user_email = '" . str_replace("\'", "''", $email) ."', user_viewemail = $viewemail, user_hobby = $hobby..."
...
		'HOBBY_OPTION1' => $hobby_option1,
		'HOBBY_OPTION2' => $hobby_option2,
		'L_HOBBY' => $lang['Hobby'],
		'L_OPTION1' => $lang['Option1'],
		'L_OPTION2' => $lang['Option2'],
lang_main.php:

Code: Alles auswählen

$lang['Option1'] = "gar nicht";
$lang['Option2'] = "etwas";
$lang['Hobby'] = 'Mein Hobby';
In der Hoffnung auf weitere Tips,
Gabriela
Antworten

Zurück zu „phpBB 2.0: Mod Support“