PHP: Überprüfen ob Checkbox aktiviert/deaktiviert
-
hi Coder
ich such ne möglichkeit, um zu überprüfen, ob eine chechbox aktiviert oder deaktiviert ist.
gibts da auch ne global die mir des vermittelt ?Spyro
-
Ja, Info liegt in den post/get-vars.
Bye, TGGC Deine Unterstützung wird gebraucht!
-
weist du auch zufällig welches attribut ?
-
Nein.
Bye, TGGC Deine Unterstützung wird gebraucht!
-
k trotzdem danke
-
Kann TGGC auch nicht da er den Namen der Checkbox nicht weiß.
Den kannst auch nur Du wissen da du ihn erstellt hast.mach mal
echo $_REQUEST['namendercheckcbox'];
Da bekommst du die unterschiedlichen werte
-
hmmm... will er nicht annehmen
ich habs mal hiermit versucht:if ($HTTP_POST_VARS["Name"] != "") { print "Checkbox angekreuzt!"; } else{ print "Checkbox nicht angekreuzt"; }
des hat funktioniert
jetzt noch ne frage dazu.
wenn ich die checkbox dann manuell durch mausklick deaktiviere, übernimmt er dies nicht für meine "php-programm".
gibts da ne möglichkeit des zu ändern ?Spyro
edit:
vergesst des oben mal kurz! irgendwie komm ich nicht ganz hinter die sache....<p><input type="checkbox" name="Produkte" value="Produkte" tabindex="1" checked> Produkte</p> <?php if (isset($_HTTP_POST_VARS["Produkte"])) { print("Checkbox aktiviert!"); } else { print("Checkbox nicht aktiviert!"); } ?>
des is en teil aus meinem formular. der php-teil scheint so nicht ganz korrekt zu sein und weis wirklich nicht warum... er gibt egal ob aktiviert oder deaktiviert immer "Checkbox nicht aktiviert!" aus.
jemand ne lsung ?
Spyro
-
$_HTTP_POST_VARS kenne ich gar nicht - wenn dann $HTTP_POST_VARS :p
Aber du solltest $_POST bzw. $_REQUEST verwenden
-
1.) $HTTP_POST_VARS ist seit 3 Jahren veraltet. Besser $_POST verwenden.
2.) Wenn du die Anzeige aktualisieren willst, ohne die Seite erneut zu versenden, musst du etwas anderes versuchen, z.B. mit JavaScript. Ansonsten kannst du nur die Formulardaten wirklich verschicken und dann mittels PHP auswerten.
-
hmmm... k
dann enthüll ich mal en bissl mein vorhabendes ganze soll ein script geben, welches einer baumstruktur folgt.
also ums deutlich zu machen:
es wird anfangs eine allgemeine frage mit beispielsweise 2 antworten und je nach antwort folgt das script einem anderen pfad.bsp.
"Sind sie Kurzsichtig oder Weitsichtig?"
Antworten:
a. Kurzsichtig
b. Weitsichtigif (antwort == a){
"Welche Art von Sehhilfe wünschen Sie?"
a. Brille
b. Kontaktlinsen
}if (antwort == b){
"Welche Art von Sehhilfe wünschen Sie?"
a. Brille
b. Kontaktlinsen
}else{
goto anfang;
}so wird halt nach und nach selektiv abgefragt, was der kunde wünscht und am ende soll dann rauskommen, "sel oder jenes produkt ist für sie geeignet!".
mein vorhaben war somit, zu schauen ob die checkbox (wobei radios wohl besser wären :)) aktiviert wurde und dann je nach auswahl einen anderen pfad folgen!
so jetzt wisst ihrs
kritik seh ich gern, da ich noch am lernen bin bzgl. oop mit php und dem ganzen algorithmus"zeugs". hoffe mal des hat sich jetzt wenigstens so schlau angehört, dass jeder weitere anfänger sagt: "joa... der hat recht!" :pSpyro
-
Also wenn du sowas mit PHP realisieren willst musst du eben nach jedem Schritt die Seite neu laden / das Formular absenden
Falls du das nicht willst bräuchtest du wohl JavaScript oder ähnliches - am bequemsten für den User wäre natürlich eine Doppellösung, die JavaScrip verwendet, aber eben als Fallback auch ohne (also dann über PHP) funktioniert
-
also sovweit ich des mitbekommen hab, ist es möglich des ganze ding mit php zu programmieren und java zu intergrieren.
--------
was ich bisher gehört hab und selber auch überlegt hab ist folgendes.
zum einen wär es doch ne möglichkeit des ganze mit php zu programmieren und dann eben bei jedem weiter button, die site erst aktualisieren zu lassen und dann eben auf die nächste site zu gehen, bei der es dann weitergeht.zum anderen hab ich bei ner google-suche gefunden, dass man über bestimmte "handler" mit java des ganze anscheinend irgendwie aktuallisieren kann... wobei ich da nichts genaueres weis.
--------
joa... des is so des was ich mir überlegt hab. kann mir jemand rückmeldung geben, ob ich mich bei dieser "handle"-java-methode arg in java einarbeiten muss, oder ob es mir reicht einfach ein paar befehle mit einzubringen in den code
Spyro
-
Ersteinmal solltest du klarstellen, ob du mit "Java" tatsächlich "Java" oder "JavaScript" meinst.
Wenn letzteres der Fall ist, benötigst du recht wenig Einarbeitungszeit - vorrausgesetzt, du hast schon mit anderen Programmiersprachen gearbeitet. Java ist da schon um einiges komplizierter, da man sich zuerst mit den Grundgedanken der OOP vertraut machen sollte.
Ansonsten würde ich die PHP-Methode empfehlen.
-
also ich hab schon des öfteren mit c++ programmiert.
in dem obigen falle wirds wohl javascript sein, wenn es damit geht!?
Spyro
-
Wie gesagt, du kannst das sowohl mit JavaScript, als auch mit PHP lösen. Beides hat Vor- und Nachteile. Die PHP-Lösung hat den Vorteil, dass du völlig unabhängig vom Browser bist und es überall funktioniert. Allerdings hast du hier den Nachteil, dass du nach jedem Schritt das Formular abschiken musst. JavaScript hat eben den Vorteil, dass du die Dynamik auf clientseitig realisierst und damit keinen Reload/Submit nach jedem Schritt benötigst - allerdings funktioniert das dann auch nur, wenn JavaScript aktiviert ist. Am besten, wäre es daher, wie schon gesagt, wenn du beides parallel machst, sodass User, die JavaScript aktiviert haben, von den Vorteilen die es bietet porfitieren können, ohne dass du User ausschließt.
-
um mal aufs eigentliche thema zurück zu kommen!
ich habs immer noch net hinbekommmen, mit den checkboxen /inzwischen radios)
ich post hier mal den kompletten quelltext. vllt könnt ihr mir da noch kurz weiterhelfen, bevor der thread in den ewigen jagdgründen der "nicht-suchfunktion-benutzer" untergeht :p<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> <title>PHP - finderArnotec</title> <style type="text/css" media="screen"><!-- .main-grey { background-color: #c6c6c6 } --></style> </head> <body bgcolor="#ffffff"> <form id="php-finderArnotec" action="(currently not set!)" method="post" name="php-finderArnotec"> <table width="440" border="0" cellspacing="0" cellpadding="0"> <tr height="19"> <td colspan="4" width="440" height="19">arnotec-Produktfinder</td> </tr> <tr height="1"> <td class="main-grey" colspan="4" width="440" height="1"></td> </tr> <tr height="7"> <td width="110" height="7"></td> <td width="110" height="7"></td> <td width="110" height="7"></td> <td width="110" height="7"></td> </tr> <tr height="19"> <td class="main-grey" colspan="4" width="440" height="19">Wilkommen > Ihre Auswahl > Das passende Produkt!</td> </tr> <tr height="14"> <td width="110" height="14"></td> <td width="110" height="14"></td> <td width="110" height="14"></td> <td width="110" height="14"></td> </tr> <tr height="19"> <td colspan="4" width="440" height="19">Welches Themengebiet entspricht ihren Interessen?</td> </tr> <tr height="7"> <td width="110" height="7"></td> <td width="110" height="7"></td> <td width="110" height="7"></td> <td width="110" height="7"></td> </tr> <tr height="19"> <td colspan="4" width="440" height="19"> <table width="230" border="0" cellspacing="0" cellpadding="0"> <tr height="18"> <td width="24" height="18"></td> <td width="18" height="18"><input type="radio" name="radiogroup1" value="radioValue1" checked></td> <td width="189" height="18">Prüftechnik / Messtechnik</td> </tr> <tr height="18"> <td width="24" height="18"></td> <td width="18" height="18"><input type="radio" name="radiogroup2" value="radioValue1" checked></td> <td width="189" height="18">Automatisierung</td> </tr> </table> </td> </tr> <tr height="25"> <td width="110" height="25"> <?php if (isset($_POST["radiogroup2"])) { print("Radio set!"); } else { print("Radio not set!"); } ?> </td> <td width="110" height="25"></td> <td width="110" height="25"></td> <td width="110" height="25"></td> </tr> <tr height="19"> <td align="center" width="110" height="19"><input type="button" value="...Zurück"></td> <td align="center" width="110" height="19"><input type="button" value="Zum Anfang"></td> <td align="center" width="110" height="19"><input type="reset"></td> <td align="center" width="110" height="19"><input type="button" value="Weiter..."></td> </tr> <tr height="19"> <td colspan="4" width="440" height="19"></td> </tr> </table> </form> <p></p> </body> </html>
hab die php-zeile n bissl "freigestellt", damit mans (hoffentlich) besser findet!
Spyro
-
<form id="php-finderArnotec" action="(currently not set!)" method="post" name="php-finderArnotec">
Du musst schon bei action was sinnvolles angeben - PHP wird ja auf dem Server interpretiert, also musst du das Formular abschicken und kannst dann auf der Zielseite (action) auf die Formular-Werte zugreifen
-
hmmm.... k ich mach mich mal schlau, wie man des action benutzt
und schreib dann nochmal!
Spyro
-
arg... hoffe mal ich geh nicht auf die nerven, aber ich hät noch ne frage.
wäre es zu viel verlangt, wenn mir einer kurz erklären könnte, wie des funktioniert mit den POST_Variablen, bzw. wann die eine zuweisung bekommen.soweit ich des verstanden habe, ist es mir nicht möglich, direkt hinter dem radio mein php-script zu integrieren, sondern muss erst irgendwie ne serveranfrage machen, damit der des interpretiert und die variablen definiert und ihr den entsprechenden wert zuweist, damit php dann drauf zugreifen kann.
kann mir des jemand nochmal aufstückeln, netterweise
Spyro
-
HMTL:
<form name="name" action="index.php"> <input type="radio" name="auswahl" value="eins"/> Eins<br /> <input type="radio" name="auswahl" value="zwei"/> Zwei<br /> <input type="radio" name="auswahl" value="drei"/> Drei<br /> <input type="submit" /> </form>
Wenn das Formular so abgeschickt wird hast du in $_POST["auswahl"] entweder "eins", "zwei" oder "drei", je nach Auswahl des Users. Der Wert richtet sich nach dem was du bei "value" angibst, nicht nach dem was dahintersteht. Was passiert, wenn der Nutzer nichts auswählt, weiß ich nicht genau, also am besten vorher mittels isset() überprüfen, ob es den Index überhaupt gibt.