Beiträge von sommeralex

    Habe testweise mein PHP-Formular auf unterschiedlichen Servern ausprobiert. Seltsamerweise funktionierten auf einem Server ein paar input fields nicht (genauer: die Session wurde nicht gespeichert)

    Nach recherche war folgender Fehler dafür verantwortlich, obwohl ich ihn nicht verstehen kann. Kann es sein, dass aufgrund unterschiedlicher php.ini einstellungen, manche $_SESSION['variable'] auch direkt angesprochen werden koennen? also einfach "$variable=" statt "$_SESSION['variable'] ="

    aber selbst wenn, warum funktioniert folgender code auf (m)einem server und auf dem andern (öffentlichen) nicht.


    ----------------CODE--------------------------

    <?php
    session_start();

    $email = ""; /*wenn ich das ausblende, gehts auch auf dem andern (öffentlichen) server, aber seltsam, weil die variable email ja nie verwendet wird, und selbst wenn...*/

    function register_item($item){

    if ( isset($_POST[$item]) ){
    $_SESSION[$item] = $_POST[$item];
    }
    else{
    unset ($_SESSION[$item]);
    }

    function check($item){

    if ( isset($_SESSION[$item]) ){
    return $_SESSION[$item];
    }


    if($_POST) {

    register_item('email');

    if(isset($_POST['step1'])) {

    header("Location: scuubreg_design_step1.php");
    exit();

    }

    ?>


    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <input name="email" value ="<?php print check('email'); ?>">
    <input name="step1" type="submit" value= "Schritt 1" >
    </form>
    http://www.learnclip.com/hyper/scuubreg_design_step1.php

    ich glaub dir schon, dass es so keinen sinn macht, aber ebensowenig sinn macht es dann, checkbuttons in einer gruppe zusammenfassen zu können. - dein beispiel entspricht den radio-buttons.

    ich glaube mich erinnern zu können, dass man diese "gruppe" über ein array ansprechen kann... irgendwie..

    es gibt im internet x beispiele, unter denen eine checkbox-gruppe unter einen namen zusammengefasst wird.

    http://de.selfhtml.org/html/formulare/auswahl.htm#checkboxen

    ->

    <input type="checkbox" name="zutat" value="salami"> Salami<br>
    <input type="checkbox" name="zutat" value="pilze"> Pilze<br>
    <input type="checkbox" name="zutat" value="sardellen"> Sardellen
    welchen Sinn soll das haben, wenn ich dann nicht auf die werte zugreifen kann?!

    Für mein Beispiel wäre es sehr umständlich, weil ich ein Formular vor mir habe, und dieses hat viele checkboxen in mehrere gruppennamen zusammengefasst.

    keine ID????

    http://www.mediaevent.de/xhtml/input.html

    dann vielleicht über value?? im prinzip möchte ich eine gruppe von checkboxen unter dem selben namen vereinen (zb sport) aber jeder checkbox einen eigenen value (?) oder eine eigene id vergeben.

    wenn nun der benutzer unterschiedliche checkboxen dieser gruppe auswählt, möchte ich überprüfen, welche er gewählt hat. wie funktioniert das?

    (ich werde versuchen, aussagekräfte titel zu nehmen..)

    Ich hab jetzt länger gegoogelt (vermutlich suche ich nach den falschen begriffen) und finde mich einfach nicht zurecht:

    wenn ich mehrere checkboxen mit dem selben NAMEN haben:

    <input name="sport" id="sport_basketball" value="checkbox" type="checkbox" <?PHP get_check('sport','sport_basketball') ?>>
    <input name="sport" id="sport_fahrrad" value="checkbox" type="checkbox" <?PHP get_check('sport','sport_fahrrad') ?>>

    und diese checkboxgruppe als session registriere, wie kann ich nun mittels der IDs überprüfen, ob die einzelnen checkBoxen ausgewählt wurden?

    Jetzt hab ich die Sessions halbwegs verstanden. Jetzt komme ich aber schon zum nächsten Problem:

    Pro Formular hab ich nur einen Button: submit.
    Wenn ich "zurück" möchte, kann ich mir mit einem weiteren button:
    <INPUT TYPE=BUTTON VALUE="zurück" onClick="history.back()">
    helfen.

    aber bei zurück verliere ich meine php-posts (dadiese ja nur bei submit weitergegeben werden)

    daher frage: wie kann ich in einem session bereich (mehrere php seiten mit jeweils session_start() ) hin und her klicken also von seite 1 auf 3 und 2 auf 4 - aber meine daten bleiben dann jeweils session-like erhalten?

    mir ist klar, wie ich über session von einer seite zur nächsten komme. wenn ich 2 seiten habe, kann ich meine submit buttons so einstellen, dass ich von seite1 auf 2 und umgekehrt komme. aber wenn ich 3 seiten habe.. geht das nicht mehr über submits..

    Jetzt hab ich die Sessions halbwegs verstanden. Jetzt komme ich aber schon zum nächsten Problem:

    Pro Formular hab ich nur einen Button: submit.
    Wenn ich "zurück" möchte, kann ich mir mit einem weiteren button:
    <INPUT TYPE=BUTTON VALUE="zurück" onClick="history.back()">
    helfen.

    aber bei zurück verliere ich meine php-posts (dadiese ja nur bei submit weitergegeben werden)

    daher frage: wie kann ich in einem session bereich (mehrere php seiten mit jeweils session_start() ) hin und her klicken also von seite 1 auf 3 und 2 auf 4 - aber meine daten bleiben dann jeweils session-like erhalten?

    ich weiß auch nicht mehr, was der fehler war.. ich weiß nur, dass es jetzt funktioniert, und ich zumindest einen fehler ausgebessert habe:

    bei einer input text wird der value ja automatisch verändert - je nachdem, ob man etwas eingibt, oder nicht.

    bei einer checkbox bleibt meine session variable ja erhalten, in dem moment, wo sie zum ersten mal zugewiesen wird. wenn ich beim zweiten mal herumklicken die checkbox NICHT anklicke, blieb bei meinem code der alte session wert erhalten. habs einfach mit unsset gelöst.

    danke! schönen sonntag!

    Hallo! Ich möchte mehrere Sessions verwalten - und bin jetzt endlich bei CheckBoxen angelangt. Ich habe eine seite.php1 auf welcher sich ein:

    <input name="job_technik" value="0" type="checkbox" <?PHP echo session_check_checkbox($job_technik) ?>>

    befindet. Der Benutzer kann es also anklicken, oder nicht. Bei einem submit wird der klickstatus in eine session_variable aufgenommen. Sollte sich der Benutzer wieder zurückbewegen (seite1.php) wird der status abgefragt. Seltsamerweise fällt meine function session_check_checkbox immer in die else return. obwohl ich die session variable sachgemäß zuweise (seite2.php)

    if ( isset($_POST['job_technik']) ){
    $_SESSION['job_technik'] = $_POST['job_technik'];

    }

    ----------------------------------------------------
    wenn ich beispielsweise ein input type text (also eine normales eingabefeld wie folgt abfrage:

    if ( isset($_SESSION['gruendungsjahr']) ){
    $gruendungsjahr= $_SESSION['grueundungsjahr'];
    }

    funktionierts und eine variable wird aus der Session Variable übergeben. Wenn ich das ganze aber in eine Funktion verpacke, gehts nicht, es kommt immer "else":

    function session_check_checkbox($checkbox){

    if ( isset($_SESSION[$checkbox]) ){
    return "checked";
    }
    else{
    return "";
    }
    }

    danke!!! jetzt ist es klar. ich darf nicht mit $variable arbeiten, sondern mit post oder session_[$variable]

    (eh so, wie es vorhin gepostet wurde..)

    ein frustrierter programmierer weniger ;)

    aber das scheint auch nicht nötig zu sein..

    seite1.php
    <td><input name="akadem_titel" value ="<?php echo($akadem_titel); ?>">

    seite2.php
    if ( isset($_POST['akadem_titel']) ){
    $_SESSION['akadem_titel'] = $_POST['akadem_titel'];
    }


    funktioniert. die daten, welche ich auf seite1 eingebe, werden in seite 2 nach post in eine session übergeben und beim wechsel auf seite 1 - falls sie existieren, wieder zurückgeschrieben.

    nur die analogie zur checkbox funktioniert nicht.

    irgendwas mach ich falsch.. ich übergebe mittels POST die variable "$job" und überprüfe, ob sie gesettet ist. und das ist sie. "jobCheckBox is set" wird ausgegeben. aber der rest (rot) markiert nicht. ich hab schon alles durchprobiert..

    <input name="job" value="0" type="checkbox">


    if ( isset($_SESSION['job']) ){

    echo "jobCheckBox is set.";
    echo $job;
    echo "$job";
    echo " end.";

    if ($job == "0"){

    echo "good";

    }


    }

    Hallo!!!

    Wie kann ich, wenn meine SelectionBoxes (die ja alle den selben namen haben, und sich nur durch ihre ID oder ihren VALUE unterscheiden, deren variablenwert in einer session weitergeben? mir ist klar, wie ich session variablen weitergebe, aber nicht bei SelectionBoxes.. ein Freund meinte, ich müsste jeder BOX einen eigenen Namen geben. Aber ich kann mir nicht vorstellen, dass diese Lösung optimal ist. Es ist doch der Grund, allen SelectionBoxes den selben namen zu geben - wenn sie zusammengehören..

    danke..

    jetzt gehts..! aber.. ich kämpfe leider mit einem weiteren problem: (hab schon gegoogelt & tutorials angesehen -> keine lösung gefunden)

    darum wieder hier ;) also: warum funktioniert der rot-unterlegte befehl nicht? idee: ich möchte zwei buttons haben. der eine ist ein normaler submit button. die aktion ist in action (grün) festgelegt. der andere button ist ein normaler button (violett) bei onclick soll er einen php befehl ausführen.

    ich erhalte keine fehlermeldung beim drücken dieses buttons aber die aktion funktioniert nicht.

    <html>
    <head>
    <body>


    <form method="post" action="<?php

    $_SESSION['input'] = $_POST['input'];
    //echo $_SERVER['PHP_SELF'];

    ?>">
    <p>
    <input type="text" name="input" value="

    <?php

    if (isset($_SESSION['input'])){
    echo $_SESSION['input'] . "cool";
    }
    else{
    echo "";
    }


    ?>

    ">
    <input name="Next" type="submit" value =";-)">
    <input type="button" value="Fenster oeffnen" name="button1"
    onClick="<?php echo 'klick'; ?>">
    </form>

    </body>
    </html>

    habe die lösung gerade gefunden:

    http://www.thescripts.com/forum/thread5572.html

    frage: gibt es eine andere möglichkeit, einen zweiten button festzulegen und dann php auszuführen? ich denke, es MUSS ja gehen, denn es gibt doch viele seiten mit mehreren buttons (und jeder hat eine bestimmte [code=php]funktion.

    ad Lösung:
    Also Argument warum onClick="<?php.." nicht geht, ist, weil serverseitiges mit clientseitigem verwechselt wird. wie ist das zu verstehen? gibt es irgendwo ein "diagramm" in dem ersichtlich ist, wann wie und warum php anforderungen vom client zurück an den server geschickt werden - und wann nicht?

    also wenn ich es halbwegs richtig verstehe, dann macht ein html-form-action eine "serveranfrage" irgendwas soll passierten - und am client wird, nachdem *irgendwas* passiert ist, eine seite (die alte oder neue) neu-geladen.

    Wenn ich jetzt onClick="<php..." answeise, ist nach "HTML" spezifikation alles so ausgelegt, dass die aktionen auf meinem "client" sind. (darum kann man auch java-skript für onClick verwenden. ABER: kann ich nicht javascript auch mit meinem server kombinieren? Oder anders: habe ich hier etwas grundsätzlich nicht verstanden, oder ist es einfach "formsache", dass onClick kein Php verträgt? Gibt es jetzt eine möglichkeit, mehrere Buttons zu verwenden, wobei jeder button eine eigene PHP funktion führt? Oder kann ich, (hintertür) wenn das form-action geschieht, in meinem PHP Script überprüfen, welcher Button(-Name) diesen befehl ausgeführt hat?

    jetzt gehts..! aber.. ich kämpfe leider mit einem weiteren problem: (hab schon gegoogelt & tutorials angesehen -> keine lösung gefunden)

    darum wieder hier ;) also: warum funktioniert der rot-unterlegte befehl nicht? idee: ich möchte zwei buttons haben. der eine ist ein normaler submit button. die aktion ist in action (grün) festgelegt. der andere button ist ein normaler button (violett) bei onclick soll er einen php befehl ausführen.

    ich erhalte keine fehlermeldung beim drücken dieses buttons aber die aktion funktioniert nicht.

    <html>
    <head>
    <body>


    <form method="post" action="<?php

    $_SESSION['input'] = $_POST['input'];
    //echo $_SERVER['PHP_SELF'];

    ?>">
    <p>
    <input type="text" name="input" value="

    <?php

    if (isset($_SESSION['input'])){
    echo $_SESSION['input'] . "cool";
    }
    else{
    echo "";
    }


    ?>

    ">
    <input name="Next" type="submit" value =";-)">
    <input type="button" value="Fenster oeffnen" name="button1"
    onClick="<?php echo 'klick'; ?>">
    </form>

    </body>
    </html>

    habe die lösung gerade gefunden:

    http://www.thescripts.com/forum/thread5572.html

    frage: gibt es eine andere möglichkeit, einen zweiten button festzulegen und dann php auszuführen? ich denke, es MUSS ja gehen, denn es gibt doch viele seiten mit mehreren buttons (und jeder hat eine bestimmte [code=php]funktion.

    ad Lösung:
    Also Argument warum onClick="<?php.." nicht geht, ist, weil serverseitiges mit clientseitigem verwechselt wird. wie ist das zu verstehen? gibt es irgendwo ein "diagramm" in dem ersichtlich ist, wann wie und warum php anforderungen vom client zurück an den server geschickt werden - und wann nicht?

    also wenn ich es halbwegs richtig verstehe, dann macht ein html-form-action eine "serveranfrage" irgendwas soll passierten - und am client wird, nachdem *irgendwas* passiert ist, eine seite (die alte oder neue) neu-geladen.

    Wenn ich jetzt onClick="<php..." answeise, ist nach "HTML" spezifikation alles so ausgelegt, dass die aktionen auf meinem "client" sind. (darum kann man auch java-skript für onClick verwenden. ABER: kann ich nicht javascript auch mit meinem server kombinieren? Oder anders: habe ich hier etwas grundsätzlich nicht verstanden, oder ist es einfach "formsache", dass onClick kein Php verträgt? Gibt es jetzt eine möglichkeit, mehrere Buttons zu verwenden, wobei jeder button eine eigene PHP funktion führt? Oder kann ich, (hintertür) wenn das form-action geschieht, in meinem PHP Script überprüfen, welcher Button(-Name) diesen befehl ausgeführt hat?