peeth Geschrieben 25. Februar 2011 Geschrieben 25. Februar 2011 Hallo. Ich habe einen Teaser mit 5 Checkboxen erstellt. Jede Checkbox ist für ein Thema. Mehrfachauswahl ist möglich. Auch eine Seitennavigation ist vorhanden. Wenn ich die Checkboxen anhake werden die Artikel aus der Datenbank gelesen und auch angezeigt. Aber wenn ich eine Seite weiter klicke dann ist keine Checkbox mehr angehakt. Wie bekomme ich es hin (mit PHP), so dass beim blättern durch die einzelnen Artikel die Häkchen immer noch aktiviert sind und ich weiter auswählen und blättern kann. Wie mache ich das? Könntet ihr mir da ne Lösung schreiben? Gruß :confused: Zitieren
Werwofl Geschrieben 25. Februar 2011 Geschrieben 25. Februar 2011 Hallo. Ich habe einen Teaser mit 5 Checkboxen erstellt. Jede Checkbox ist für ein Thema. Mehrfachauswahl ist möglich. Auch eine Seitennavigation ist vorhanden. Wenn ich die Checkboxen anhake werden die Artikel aus der Datenbank gelesen und auch angezeigt. Aber wenn ich eine Seite weiter klicke dann ist keine Checkbox mehr angehakt. Wie bekomme ich es hin (mit PHP), so dass beim blättern durch die einzelnen Artikel die Häkchen immer noch aktiviert sind und ich weiter auswählen und blättern kann. Wie mache ich das? Könntet ihr mir da ne Lösung schreiben? Gruß :confused: Guck dir mal Cookies unter PHP an. Kleine Erklärung: Quakenet/#php Tutorial - de - Cookies ansonsten einfach mal php-einfach.de besuchen die haben sehr gute Tuts. Zitieren
raiserle Geschrieben 1. März 2011 Geschrieben 1. März 2011 Oder mit JavaScript die Links manipulieren (GET), diese dann wieder auslenen und deine Haken setzen.... Oder mit AJAX. Oder nochmal mit JavaScript - darüber die Kekese setzen. Oder mit PHP in die Session schreiben (serverseitig). Oder wie schon erwähnt - mit PHP ein Keks erzeugen (clientseitig). Der Möglichkeiten gäbe es da viele, nur die *Passendste* zu finden ist eher die Herausforderung. Um das mal mit einfachen Worten zu beschreiben. - Wenn du auf einen Link klickst, wie sollen die Daten denn zum Server kommen? (FORM? gut könnte man auch mit JS erschlagen : onclick.formid.submit()) - Haken setzen, diese dann bestätigen (Submit aus einem FORM herraus)? Dann erst die Möglichkeit weiter zu blättern. usw..... Ich für meinen Teil - würde das stupide mit JS machen. onchange auf die Checkboxen... und darüber den Keks setzen. Q'nD! Aber effektiv! vG Zitieren
etreu Geschrieben 2. März 2011 Geschrieben 2. März 2011 Du speicherst am besten den Stand der Eingaben in einem DTO und prüfst beim rendern der Boxen auf die Werte. Einfaches Beispiel: checkedIsTrue = $data->isTrue() ? 'checked="checked"' : ''; echo <<<ENDCHECKBOX <input type="checkbox" $checkedIsTrue name="isTrue" value="1"/> END; [/PHP] und die Verarbeitung: [PHP] $data->isTrue = isset($_POST['isTrue']) ? untaint($_POST['isTrue']) : NULL; Wo du dein DTO speicherst ist eigentlich egal. Du solltest dir nur ausreichend Gedanken zu Lebenszeit der Daten machen. Zitieren
peeth Geschrieben 2. März 2011 Autor Geschrieben 2. März 2011 Vielen Dank für Eure Antworten... aber ich bekomme es einfach nicht hin... ich habe mir sämtliche Tutorials angeschaut. Wie es aussieht bin ich zu blöd es zu verstehen... Von JS habe ich keine Ahnung und ich bin PHP-Frischling. Mit Cookies und so weiter habe ich es auch schon probiert aber ich steige da einfach nicht durch. Hier ist mal das Formular mit den Checkboxen: echo "<form id=\"ebene2\" name=\"form1\" action=\"neueartikel3.php\" target=\"_self\" method=\"GET\" onChange=\"document.forms.form1.submit()\" > <input type=\"checkbox\" name=\"box1\" value=\"Businessplan\" $sel1>Businessplan <input type=\"checkbox\" name=\"box2\" value=\"Finanzen\" $sel2>Finanzen, Fördermittel <input type=\"checkbox\" name=\"box3\" value=\"Marketing, PR\" $sel3>Marketing, PR <input type=\"checkbox\" name=\"box4\" value=\"Internet\" $sel4>Internet <input type=\"checkbox\" name=\"box5\" value=\"Existenzgründung\" $sel5>Existenzgründung </form>"; Und hiermit prüfe ich ob die Checkboxen angehakt sind: if (isset($_GET['box1'])) { $sel1 = 'checked'; $box1 = 'Businessplan'; } else { $sel1 = "unchecked"; $box1 = ''; } if (isset($_GET['box2'])) { $sel2 = "checked"; $box2 = 'Finanzen'; } else { $sel2 = "unchecked"; $box2 = ''; } if (isset($_GET['box3'])) { $sel3 = "checked"; $box3 = 'Marketing, PR'; } else { $sel3 = "unchecked"; $box3 = ''; } if (isset($_GET['box4'])) { $sel4 = "checked"; $box4 = 'Internet'; } else { $sel4 = "unchecked"; $box4 = ''; } if (isset($_GET['box5'])) { $sel5 = "checked"; $box5 = 'Existenzgründung'; } else { $sel5 = "unchecked"; $box5 = ''; } Das ganze klappt aber irgendwie nicht. Sobald ich den Button drücke um die nächsten Ergebnisse anzeigen zu lassen sind die Checkboxen nicht mehr angehakt:( Es wäre echt nett wenn mir jemand von Euch dabei helfen könnte. DANKE Zitieren
raiserle Geschrieben 2. März 2011 Geschrieben 2. März 2011 Als erstes solltest du hier im Forum mal BBC benutzen (CODE) oder (PHP) - damit man dein Quellcode besser lesen kann. Was soll das onChange im FORM? Was wolltest du damit bezwecken.Ich sehe aber nichts von Kekesen! Oder etwaiger Session Es reicht zu, wenn du checked setzt.Würde ich die Checkboxen in ein Array packen Aber das kann man ja machen, wenn man den Rest schön hat! session_start();//janz wischtüsch #..... #hier mit deiner Variante + Session if(isset($_POST['box1'])) { $_SESSION['box1']='checked'; } #.... echo '..... <input type="checkbox" name="box1" value="Businessplan" '.$_SESSION['box1'].' />.... .... '; [/PHP] Zitieren
peeth Geschrieben 2. März 2011 Autor Geschrieben 2. März 2011 Vielen Dank für deine schnelle Antwort... Ich werde es direkt mal einbauen... LG Zitieren
raiserle Geschrieben 2. März 2011 Geschrieben 2. März 2011 Du könntest auch deinen kompletten Quelltest auf PasteBin online stellen. Schau aber.. das du keine Passwörter mit postest. Zitieren
peeth Geschrieben 2. März 2011 Autor Geschrieben 2. März 2011 grml... ich habe jetzt so einiges ausprobiert aber ich bekomme es tatsächlich nicht hin :old ich weiß echt nicht wie ich was wo einbauen muß damit es klappt... Zitieren
peeth Geschrieben 2. März 2011 Autor Geschrieben 2. März 2011 Du könntest auch deinen kompletten Quelltest auf PasteBin online stellen. Schau aber.. das du keine Passwörter mit postest. Ich habs mal bei pastebin.com reingestellt Zitieren
raiserle Geschrieben 2. März 2011 Geschrieben 2. März 2011 Du müsstest aber auch den link posten zu dem Quellcode bei Pastebin. Zitieren
peeth Geschrieben 2. März 2011 Autor Geschrieben 2. März 2011 sorry hatte ich vergessen http://pastebin.com/embed_js.php?i=6xt09t7C Zitieren
raiserle Geschrieben 2. März 2011 Geschrieben 2. März 2011 Naja - kann passieren. Ich hab mal was dazu geschrieben. Korrektur vG Zitieren
php:) Geschrieben 7. März 2011 Geschrieben 7. März 2011 <form action="GET"> <input type="checkbox" name="checkboxName" <? if(isset($_POST['checkboxName']))echo'checked="checked";?> /> </form> Zitieren
raiserle Geschrieben 7. März 2011 Geschrieben 7. März 2011 <form action="GET"> <input type="checkbox" name="checkboxName" <? if(isset($_POST['checkboxName']))echo'checked="checked";?> /> </form> War nicht seine Frage! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.