You are not logged in.

  • Login

1

Thursday, January 24th 2008, 4:08am

Checkboxen auswerten lassen...

Hallo...

Und zwar möchte ich eine Checkbox machen...

dazu hab ich folgendes...

PHP Quellcode

1
2
3
4
<form method="post" name="profile" action="test.php">
    <input type="hidden" name="sessid" value="<?Echo $sessionID?>">
 
<input type="checkbox" name="email" value="1" checked > (<? echo $user->email ?>) anderen Usern anzeigen


jetzt möcht ich aber auslesen lassen ob der Wert (von email) 0 oder 1 ist, so das er bei 0 "Checked" macht und wiederum bei 1 nicht...

wie mach ich das???

greets
Toxic

2

Thursday, January 24th 2008, 8:08am

wenn Null dein Standardwert ist, schreibst du einfach value="0"
den else Wert kannst du nur in PHP bestimmen.

3

Thursday, January 24th 2008, 12:43pm

hallo...

das ist mir schon klar, das ich das mit PHP auslese...

aber wenn ich dann in der checkbox "

PHP Quellcode

1
2
3
<form method="post" name="profile" action="test.php">
<input type="hidden" name="sessid" value="<?Echo $sessionID?>">
<input type="checkbox" name="hideemail" value="<?echo $user->hideemail>" checked > (<? echo $user->email ?>) anderen Usern anzeigen


verschwindet dadurch nicht das "checked" wenn 1 oder 0 ist... da das schecked den haken setzt, was er aber wiederum bei 1 nicht soll...

oder meintest du das ich das

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
<?PHP
IF($user->hideemail == "0") {
?>
checked
 
<?
}ELSE{
?>
 
<?PHP
}
?>


da dranfeften muss wo das "checked" dann mit übergeben wird??

aber irgendwie, wie ich überlege ist da im Ganzen der Wurm drin... Dann frag ich mich immer noch, wenn ich in Value die 0 habe und den Hacken in der Checkbox rausmache, wie übergiebt er dann die 1...

oder denk ich zu kompliziert...

greets
Toxic

This post has been edited 1 times, last edit by "toxic" (Jan 24th 2008, 12:53pm)


4

Thursday, January 24th 2008, 4:17pm

Wenn der Haken vorhanden ist, dann ist $_POST['hideemail'] = 1 und wenn es nicht gesetzt ist, dann ist auch die PHP Variable ungesetzt.
Am value musst du gar nichts ändern.

5

Friday, January 25th 2008, 12:42am

Hallo

Alles schön und gut. Aber ich komm damit nicht wirklich weiter...

hier erstmal der code...

PHP Quellcode

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
<FORM name="profileform" action="main.php" method="_post">
      <INPUT type="hidden" name="session_id" value="<?=$session_id?>">
      <INPUT type="hidden" name="include" value="80">
      <INPUT type="hidden" name="profile_user_id" value="<?=$profile_user_id?>">
      <input type="hidden" name="acti" value="save" />
 
<table border="0" align="center" cellspacing="2" cellpadding="0">
 
 
 
 
 
    <tr>
    <td valign="top">
    E-Mail-Adresse:
    </td>
    <td valign="top">
 
    <input type="checkbox" name="hide_email" value="1"
    <?PHP
IF($user->hide_email == "0") {
?>
checked
 
<?
}ELSE{
?>
 
<?PHP
}
?>


wenn der wert auf 0 gesetzt ist, dann gibt er checked an und setzt den hacken, was er wiederum bei dem wert 1 nicht macht, was auch gut ist...

nun zum Problem... wenn der Haken nun bei "0" gesetzt ist und ich den rausnehme müsste er den wert 1 speichern, was er aber wiederum nicht mach, wenn ich ihn rausnehme...

lass ich ih drin macht er: "http://127.0.0.1/chat2/main.php?session_id=sFbxh3BWscyiSovH&include=80&profile_user_id=&acti=save&hide_email=1"
wenn ich den hacken rausmache nur "http://127.0.0.1/chat2/main.php?session_id=sFbxh3BWscyiSovH&include=80&profile_user_id=&acti=save"

also fehlt der befehl in _post von "hide_email=1" wenn der Hacken raus ist...

greets
Toxic

6

Friday, January 25th 2008, 1:02am

Ich weiß nicht wo du die "0" her hast. Dein Beispiel bringt in keinem Fall eine "0".

Wenn die Checkbox markiert ist wird der Wert aus dem VALUE-Attribut übergeben. Wenn die Checkbox nicht markiert ist wird NICHTS (!!!) übergeben.

Ich nehme an, daß du nach dem Absenden des Formulares dieses Formular wieder so anzeigen möchtest wie es vor dem Absenden aussah. Somit kannst du folgendes schreiben:

PHP Quellcode

1
2
3
4
5
6
7
<%
if (isset('hide_email')) {
  print '<input type="checkbox" name="hide_email" checked="checked">';
} else {
  print '<input type="checkbox" name="hide_email">';
}
%>


EDIT:
Hab gerade gesehen, daß du es anders meinst:

PHP Quellcode

1
2
3
4
5
6
7
<%
if ($user->hide_email) {
  print '<input type="checkbox" name="hide_email" checked="checked">';
} else {
  print '<input type="checkbox" name="hide_email">';
}
%>

7

Friday, January 25th 2008, 1:40am

hallo...

dank dir, alles schön und gut...

nur erscheint dann garnicht mehr die checkbox wenn ich 0 oder 1 der wert ist...

hab es mal mit "false" oder "true" versucht, genauso wenig...

greets
Toxic

8

Friday, January 25th 2008, 10:36am

das ist schlichtweg unmöglich... wenn if nicht benutzt wird, dann else.. und beide zeigen eine Checkbox.

9

Friday, January 25th 2008, 12:59pm

Ich weiß nicht wo du die "0" her hast. Dein Beispiel bringt in keinem Fall eine "0".

Wenn die Checkbox markiert ist wird der Wert aus dem VALUE-Attribut übergeben. Wenn die Checkbox nicht markiert ist wird NICHTS (!!!) übergeben.



Und das ist das, was ich die ganze zeit versuche... das wenn ich den Hacken rausnehme er dann Z.b. die 0 übergiebt... Ich hab schon vieles gefunden, wo wenn hacken gesetzt ist die "1" übergibt wird und irgendwie muss es doch hinhauen???... Gesehen das es geht, hab ich schon (nur wie???)...

so wie das hier...

HTML Code

1
2
3
4
<SELECT name="hide_email" class="selects">
            <OPTION value="0" <?=$selected_hide_email_0?>>nein
            <OPTION value="1" <?=$selected_hide_email_1?>>ja
          </SELECT>


nur das ein auswahlmenu mit Ja/Nein ist und doch sehr störend, wenn eine Checkbox feiner ausieht...

greets
Toxic

10

Friday, January 25th 2008, 3:45pm

Es besteht doch gar keine Notwendigkeit es schon vom HTML Formular zu übertragen.

wie gesagt:
den else Wert kannst du nur in PHP bestimmen.

daher:

PHP Quellcode

1
2
3
if(!isset($_POST['bla'])) {
    $_POST['bla'] = 0;
}

11

Wednesday, February 13th 2008, 1:45pm

hallöchen...

hatte nicht viel zeit, die letzten tage... aber muss sagen, nachdem ich es jetzt eingebaut habe...

es klappt und sag danke...

greets
toxic

Social bookmarks