1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

PHP SessionII

    • Frage
  • sommeralex
  • 6. Mai 2006 um 16:55
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • sommeralex
    Punkte
    1.325
    Beiträge
    188
    • 6. Mai 2006 um 16:55
    • #1

    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";


    }


    }

  • Paulchen
    Gast
    • 6. Mai 2006 um 16:58
    • #2

    Wo weist du denn der Variablen $job einen Wert zu? Ist das, was du verwenden willst, $_POST['job'] oder $_SESSION['job']?

  • sommeralex
    Punkte
    1.325
    Beiträge
    188
    • 6. Mai 2006 um 17:04
    • #3

    die mach ich am kopf der seite2.php

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

    }

  • Paulchen
    Gast
    • 6. Mai 2006 um 17:07
    • #4

    Und wo steht

    PHP
    $job=...
  • sommeralex
    Punkte
    1.325
    Beiträge
    188
    • 6. Mai 2006 um 17:11
    • #5

    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.

  • NoUse
    Punkte
    425
    Beiträge
    67
    • 6. Mai 2006 um 17:15
    • #6
    Zitat von Paulchen

    Wo weist du denn der Variablen $job einen Wert zu? Ist das, was du verwenden willst, $_POST['job'] oder $_SESSION['job']?


    Ich glaub da gibts einen PHP-Konfig Parameter der irgendwas mit globals heißt (register_globals?) dann kann man auch mit $job zugreifen, is aber allgemein eher nicht empfohlen glaub ich

  • NoUse
    Punkte
    425
    Beiträge
    67
    • 6. Mai 2006 um 17:19
    • #7
    Zitat von sommeralex


    nur die analogie zur checkbox funktioniert nicht.

    poste mal den HTML-Code zur Checkbox. Ich glaub bei Checkboxen musst die value-Option im HTML angeben, sonst wird eben nur die Variable gesetzt (was ja meistens auch reicht, denn ist sie gesetzt wurde das Hakerl angeklickt, und sonst nicht).

  • sommeralex
    Punkte
    1.325
    Beiträge
    188
    • 6. Mai 2006 um 17:22
    • #8

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

  • Paulchen
    Gast
    • 6. Mai 2006 um 17:29
    • #9
    Zitat von sommeralex

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

    Manchmal trügt auch der Schein:

    PHP
    <?php
            session_start();
            if($_POST) {
                    $_SESSION['text']=$_POST['text'];
            }
    ?>
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <input type="text" name="text" value="<?php echo $text; ?>" />
    </form>


    Das funktioniert auf mit meinem PHP (4.4.2) nicht wie gewünscht. Ersetze ich $text durch $_SESSION['text'] bzw. $_POST['text'], funktioniert es. Ich finde auf die Schnelle auch in der PHP.INI nichts, womit ich das beeinflussen könnte (mit register_globals hat das nichts zu tun).

    Stell vielleicht mal die Funktion deines Browsers ab, Eingaben in Formularfelder zu speichern.

  • NoUse
    Punkte
    425
    Beiträge
    67
    • 6. Mai 2006 um 17:29
    • #10

    hm das sollte mMn eh passen, was macht er wenn du nicht mit isset überprüfst sondern mit session_is_registerd ?

  • sommeralex
    Punkte
    1.325
    Beiträge
    188
    • 6. Mai 2006 um 17:37
    • #11

    kann vielleicht jemand ein extra-simpel beispiel session-checkbox liefern?

  • NoUse
    Punkte
    425
    Beiträge
    67
    • 6. Mai 2006 um 17:50
    • #12

    1.php:

    HTML
    <?
    session_start();
    
    
    if (isset ($_POST['check'])) {
       echo $_POST['check'];
       $_SESSION['check']=$_POST['check'];
    }
    
    
    ?>
    <html>
    <body>
    <form method="POST" ACTION="<?=$PHP_SELF?>">
    <input type="checkbox" name="check" value="27">
    <input type="submit">
    </form>
    </body>
    </html>
    Alles anzeigen

    2.php:

    Code
    <?
    session_start();
    
    
    echo $_SESSION['check'];
    
    
    ?>
  • sommeralex
    Punkte
    1.325
    Beiträge
    188
    • 6. Mai 2006 um 17:56
    • #13

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

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum