wiedermal ne session frage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • wiedermal ne session frage

    bekomme folgende Fehlermeldung obwohl,

    Thankx alot...alex

    Verzeichnis tmp richtig,
    register_global = on,
    start_session()
    session_register ('mycolor')

    Warning: Cannot send session cache limiter - headers already sent (output started at c:\apache\htdocs\home\html\session_uebung3.php:2) in c:\apache\htdocs\home\html\session_uebung3.php on line 3
    die gewählte Farbe ist:

    Script:
    <?php
    @session_start();
    ?>
    <html>
    <head>
    <title>Unbenannt</title>
    </head>
    <body>
    <form method ="post" action="session_uebung2.php">
    <select name="colors" size="1">
    <option value=''>Ihre Auswahl:
    <option value="red">rot
    <option value="blau">blau
    </select>
    <input type="submit" value="farbe auswählen">
    </form>

    <?php

    if (strlen($colors) > 0)
    {
    $mycolor = $colors;
    @session_register ('mycolor');
    echo '<a href="session_uebung3.php">weiter.....</a>';
    }
    ?>

    </body>
    </html>

    Ausgabe script:

    <?php
    session_start();
    ?>

    <html>
    <head>
    <title>Unbenannt</title>
    </head>
    <body>
    die gewählte Farbe ist: <?php echo $mycolor ?>
    na lecker...
    alex

  • #2
    deine Ausgabe im ersten Skript beginnt schon mit der Zeile 3 <html> usw. und erst später willst du was mit der Session machen -> diese kann dann eben den Header nicht mehr senden, da dieser mit der ersten Ausgabe gesendet wird.

    Lösung: du mußt deinen PHP-Code oben vor der Ausgabe zusammenziehen was die Session angeht. Ungefähr so:
    Code:
    <?php 
    @session_start(); 
    
    if (strlen($colors) > 0) 
    	{ 
    	$mycolor = $colors; 
    	@session_register ('mycolor'); 
    	} 
    ?> 
    <html> 
    <head> 
    <title>Unbenannt</title> 
    </head> 
    <body> 
    <form method ="post" action="session_uebung2.php"> 
    	<select name="colors" size="1"> 
    	<option value=''>Ihre Auswahl: 
    	<option value="red">rot 
    	<option value="blau">blau 
    	</select> 
    	<input type="submit" value="farbe auswählen"> 
    </form> 
    <?php 
    if (strlen($colors) > 0) 
    	{ 
    	echo '<a href="session_uebung3.php">weiter.....</a>'; 
    	} 
    ?> 
    </body> 
    </html>

    Kommentar


    • #3
      leider ist der Fehler immernoch...Fehlermeldung ist auch aus Antwortscript und da kann ich ja die Antwort nicht noch weiter oben angeben...what to do?
      danke alex
      na lecker...
      alex

      Kommentar


      • #4
        wie? Fehlermeldung ist auch aus Antwortskript? Was soll das bedeuten? Wie sieht die Fehlermeldung aus? Und was ist das Antwortskript?

        Kommentar


        • #5
          Mahlzeit,
          du kannst auch den php-code aufspalten. Hier mal ein Beispiel:

          <?php
          session_start();
          ?>
          <html>
          <head>
          <title>test</title>
          </head>
          <body>
          blablabla
          <?php
          if(@$action=='senden'){
          $sess_text=$text;
          session_register('sess_text');
          }else{
          echo "<form action=".$PHP_SELF."?action=senden method=post>";
          echo "<input type=text name=text>";
          echo "<input type=submit value=senden>";
          echo "</form>";
          }
          ?>
          </body>
          </html>

          Hoffe, Dir geholfen zu haben.
          adios
          alex

          Kommentar


          • #6
            Schau nach, ob irgendwelche Leerzeichen vor dem <?php ganz am Anfang des Scripts stehen.

            CAT Music Files

            Kommentar

            Lädt...
            X