Seite 1 von 1
wie baue ich ne checkbox?
Verfasst: Do 30. Jun 2005, 08:51
von Flex32
so wie das bei selfhtml steht geht das irgendwie nicht:
was muss in den inputbereich was in den Output
Und bitte verweißt mich nicht auf die suche, die habe ich benutzt aber nur einen artikel gefunden mit einer lösung von Herr B. die bei mir aber nicht funzt
danke
gruß
Verfasst: Do 30. Jun 2005, 08:53
von Halchteranerin
Was fuer eine Checkbox? Wo soll sie erscheinen? Was soll damit passieren?
Verfasst: Do 30. Jun 2005, 09:05
von emergence
welche contenido version setzt du denn ein ?
bei mir funkt die lösung von herrb ohne weiteres (habs gerade getestet)
->
http://contenido.org/forum/viewtopic.php?p=50363#50363
input:
Code: Alles auswählen
$aktiv = "CMS_VALUE[0]";
echo "<INPUT TYPE=\"checkbox\" NAME=\"CMS_VAR[0]\" VALUE=\"0\" ";
if ($aktiv == "0") {
echo "checked";
};
echo ">";
output:
Verfasst: Do 30. Jun 2005, 09:06
von Flex32
sorry für meine ungenauigkeit.
die checkbox soll im Konfigurationsbereich eines Artikrkels erscheinen.
Je nachdem was man auswählt (4 möglichkeiten stehen zur auswahl) soll ein entsprechender text im Frontend angezeigt werden
PS: benutze contenido 4.4.4
gruß
Verfasst: Do 30. Jun 2005, 09:08
von Flex32
emergence hat geschrieben:welche contenido version setzt du denn ein ?
bei mir funkt die lösung von herrb ohne weiteres (habs gerade getestet)
->
http://contenido.org/forum/viewtopic.php?p=50363#50363
input:
Code: Alles auswählen
$aktiv = "CMS_VALUE[0]";
echo "<INPUT TYPE="checkbox" NAME="CMS_VAR[0]" VALUE="0" ";
if ($aktiv == "0") {
echo "checked";
};
echo ">";
output:
hups hatte etwas falsch kopiert, jetzt funzt es bei mir auch, aber wie sage ich jetzt das wen das ausgewählt ist, zeige die variable an?
oder anders gesagt ich verstehe das funktionsprinzip nicht ganz:-(
EDIT:
habe das jetzt im output stehen:
das wird auch angezeigt, wenn die checkbox aktiviert ist.
wenn sie nicht aktiviert ist wird aber eine leere seite angezeigt:-(
Verfasst: Do 30. Jun 2005, 09:14
von emergence
Flex32 hat geschrieben:... aber wie sage ich jetzt das wen das ausgewählt ist, zeige die variable an?
?? das mag ich jetzt gerade nicht verstehen... ??
Flex32 hat geschrieben:oder anders gesagt ich verstehe das funktionsprinzip nicht ganz:-(
funktionsweise einer checkbox ? oder wie der code geschrieben wurde ?
man könnte auch schreiben
Code: Alles auswählen
echo "<INPUT TYPE="checkbox" NAME="CMS_VAR[0]" VALUE="0" ";
if ("CMS_VALUE[0]" == "0") {
echo "checked";
};
echo ">";
wenn eine checkbox nicht gesetzt ist wird !kein! wert in dieser variable übergeben...
deshalb gibts auch den if vergleich -> "CMS_VALUE[0]" == "0"
Verfasst: Do 30. Jun 2005, 09:18
von Flex32
emergence hat geschrieben:Flex32 hat geschrieben:... aber wie sage ich jetzt das wen das ausgewählt ist, zeige die variable an?
?? das mag ich jetzt gerade nicht verstehen... ??
Flex32 hat geschrieben:oder anders gesagt ich verstehe das funktionsprinzip nicht ganz:-(
funktionsweise einer checkbox ? oder wie der code geschrieben wurde ?
man könnte auch schreiben
Code: Alles auswählen
echo "<INPUT TYPE="checkbox" NAME="CMS_VAR[0]" VALUE="0" ";
if ("CMS_VALUE[0]" == "0") {
echo "checked";
};
echo ">";
wenn eine checkbox nicht gesetzt ist wird !kein! wert in dieser variable übergeben...
deshalb gibts auch den if vergleich -> "CMS_VALUE[0]" == "0"
achso ok.
so jetzt macht der user einen haken in die checkbox wie sage ich jetzt contenido das er wenn ein haken in der checkbox ist den text "contenido ist toll" anzeigt und wenn kein haken in der box ist eben nix anzeigt
Verfasst: Do 30. Jun 2005, 09:26
von emergence
Flex32 hat geschrieben:
das wird auch angezeigt, wenn die checkbox aktiviert ist.
wenn sie nicht aktiviert ist wird aber eine leere seite angezeigt:-(
ähm deine if abfrage ist blödsinn (sorry)
da sie erstens für das was du machen möchtest falsch ist.
und zweitens zu einem php fehler führt wenn kein wert übergeben wird..
= -> ist eine zuweisung
== -> vergleicht den wert
=== -> vergleicht wert und typ der variable
eine contenido gegebenheit...
CMS_VALUE[0] CMS_VAR[0] sind platzhalter die vor ausführung des php codes durch die gespeicherten bzw. zugewiesenen werte ersetzt werden...
grundsätzlich sollten diese platzhalter immer von quotes -> "CMS_VALUE[0]" umgeben sein...
in deinem fall wenn die checkbox gecheckt ist wird $aktiv der wert 0 zugewiesen... die if abfrage kontrolliert nun ob diese zuweisung erfolgreich ist, wenn ja wird dein text angezeigt...
$active == "CMS_VALUE[0]"
bringt aber auch nichts...
$active ist im output ja nicht gesetzt und es soll verglichen werden ob die nicht gesetzte variable "CMS_VALUE[0]" entspricht...
in dem fall würde dein text nur dann angezeigt wenn nichts gecheckt ist...
du möchtest aber vergleichen ob ein wert übergeben wird
dann müsste es so aussehen...
output:
Code: Alles auswählen
<?php
if ("CMS_VALUE[0]" != "");
{
echo "jippi es geht";
}
?>
du kannst aber auch etwas wie das hier verwenden...
Code: Alles auswählen
<?php
$active = "CMS_VALUE[0]";
if ($active != "");
{
echo "jippi es geht";
}
?>
Verfasst: Do 30. Jun 2005, 09:34
von Flex32
emergence hat geschrieben:Flex32 hat geschrieben:
das wird auch angezeigt, wenn die checkbox aktiviert ist.
wenn sie nicht aktiviert ist wird aber eine leere seite angezeigt:-(
ähm deine if abfrage ist blödsinn (sorry)
da sie erstens für das was du machen möchtest falsch ist.
und zweitens zu einem php fehler führt wenn kein wert übergeben wird..
= -> ist eine zuweisung
== -> vergleicht den wert
=== -> vergleicht wert und typ der variable
eine contenido gegebenheit...
CMS_VALUE[0] CMS_VAR[0] sind platzhalter die vor ausführung des php codes durch die gespeicherten bzw. zugewiesenen werte ersetzt werden...
grundsätzlich sollten diese platzhalter immer von quotes -> "CMS_VALUE[0]" umgeben sein...
in deinem fall wenn die checkbox gecheckt ist wird $aktiv der wert 0 zugewiesen... die if abfrage kontrolliert nun ob diese zuweisung erfolgreich ist, wenn ja wird dein text angezeigt...
$active == "CMS_VALUE[0]"
bringt aber auch nichts...
$active ist im output ja nicht gesetzt und es soll verglichen werden ob die nicht gesetzte variable "CMS_VALUE[0]" entspricht...
in dem fall würde dein text nur dann angezeigt wenn nichts gecheckt ist...
du möchtest aber vergleichen ob ein wert übergeben wird
dann müsste es so aussehen...
output:
Code: Alles auswählen
<?php
if ("CMS_VALUE[0]" != "");
{
echo "jippi es geht";
}
?>
du kannst aber auch etwas wie das hier verwenden...
Code: Alles auswählen
<?php
$active = "CMS_VALUE[0]";
if ($active != "");
{
echo "jippi es geht";
}
?>
danke für die ausfühliche erläuterung
leider wird der text jetzt immer angezeigt, egal ob die box gechecked ist oder nicht
Verfasst: Do 30. Jun 2005, 09:43
von emergence
input:
Code: Alles auswählen
echo "<INPUT TYPE=\"checkbox\" NAME=\"CMS_VAR[0]\" VALUE=\"0\" ";
if ("CMS_VALUE[0]" != "") {
echo "checked";
};
echo ">";
output:
Code: Alles auswählen
<?php
if ("CMS_VALUE[0]" != "")
{
echo "jippi es geht";
}
?>
geht ohne probleme sowohl bei einer 4.4.x als auch bei der 4.5.3
und zwar genau mit dem obrigen code...
Verfasst: Do 30. Jun 2005, 09:54
von Flex32
emergence hat geschrieben:input:
Code: Alles auswählen
echo "<INPUT TYPE="checkbox" NAME="CMS_VAR[0]" VALUE="0" ";
if ("CMS_VALUE[0]" != "") {
echo "checked";
};
echo ">";
output:
Code: Alles auswählen
<?php
if ("CMS_VALUE[0]" != "")
{
echo "jippi es geht";
}
?>
geht ohne probleme sowohl bei einer 4.4.x als auch bei der 4.5.3
und zwar genau mit dem obrigen code...
ich weiß nicht warum, aber es geht jetzt;-)
danke für deine hilfe