Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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:

Geschrieben
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.;)

Geschrieben

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

Geschrieben

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.

Geschrieben

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

Geschrieben

Als erstes solltest du hier im Forum mal BBC benutzen (CODE) oder (PHP) - damit man dein Quellcode besser lesen kann.

  1. Was soll das onChange im FORM? Was wolltest du damit bezwecken.
  2. Ich sehe aber nichts von Kekesen! Oder etwaiger Session :D
  3. Es reicht zu, wenn du
    checked

    setzt.

  4. 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]

Geschrieben

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...

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...