$_SESSION nie zwraca do formularza ostatniej wartości.

0

Witajcie.
Mam problem z odczytem $_SESSION w formularzu.
W skrócie wartość jest wpisana ale nie ostatnia a przed ostatnia
Czyli:
1 - formularz jest pusty
2 - wpisujemy imię "Tomek"
3 - na tej samej stronie mamy wypisane imię "Tomek"
4 - w oknie formularza robi się pusto
5 - wpisujemy imię "Janek
6 - na tej samej stronie mamy wypisane imię "Janek"
7 - w oknie formularza pojawia się "Tomek"

Zawsze nie jest to ostatnia zmienna ale przed ostatnia :(

Może ktoś wie jak zmusić do wpisania ostatniej wartości
Dzięki i pozdrawiam

0

Aha. Pokaż kod.

0

Bardzo przepraszam za bałagan :(

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>

<meta http-equiv="Content-type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Language" content="pl">
<link rel="stylesheet" href="./css/stylephp.css" type="text/css" media="screen" charset="UTF-8" />
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" charset="UTF-8" />
</head>

<BODY>


<div class="noprint">
<?php 
session_start();
?>
<style type="text/css">
* {
			margin: 0;
			padding: 0;
		}
		body {
			font: 100% normal Arial, Helvetica, sans-serif;
			background: #FFFF99;
		}
		form, input, select, textarea {
			margin:0;
			padding:0;
			color:#ffffff;
		}
 
		div.box {
			margin:0 auto;
			width:400px;
			height:264px;        /* wysokość całego boxa */
			background:#373738; /*kolor nagłówka raport z przebiegu pracy ...*/
			position:relative;
			top:10px;
			border:1px solid #262626;
		}
 
		div.box h1 {
			color:#ffffff;
			font-size:15px;
			 /* text-transform:uppercase; */
			padding:5px 0 5px 5px;
			border-bottom:1px solid #161712; /*kolor linii odzielającej raport z przebiegu pracy ...*/
			border-top:1px solid #161712;
		}
		div.box h2 {
			color:#ffffff;
			font-size:8px;
			text-transform:uppercase;
			padding:5px 0 5px 63px;
			border-bottom:1px solid #161712; /*kolor linii odzielającej raport z przebiegu pracy ...*/
			border-top:1px solid #161712;
		}
 
		div.box label {
			width:100%;
			display: block;
			background:#373738;
			border-top:1px solid #303234;
			border-bottom:1px solid #161712; /*kolor linii odzielającej każde LABEL*/
			padding:5px 4 10px 0;
		}
 
		div.box label span {
			display: block;
			color:#bbbbbb;
			font-size:12px;
			float:left;
			width:100px;
			text-align:right;
			padding:5px 5px 0 0; /*odległość inputa od opisu span*/
		}
 
		div.box .wpis {
			padding:4px 10px; /*wysokość inputa*/
			width:60px; /*szerokość inputa*/
			background:#4f4f50;
			border-bottom: 1px double #171717;
			border-top: 1px double #171717;
			border-left:1px double #333333;
			border-right:1px double #333333;
		}
	 
			div.box .button	{
			margin:0 0 10px 0;
			padding:3px 7px;
			background:#CC0000;
			border:0px;
			position: relative;
			top:2px;
			left:107px;
			width:100px;
			border-bottom: 1px double #660000;
			border-top: 1px double #660000;
			border-left:1px double #FF0033;
			border-right:1px double #FF0033;
		}
			.drukowanie	{
			margin:0 0 0 0;
			padding:3px 7px;
			background:#5E5E5E; /* kolor przycisku drukowanie */
			border:0px;
			position: relative;
			top:2px;
			left:193px;
			width:100px;
			border-bottom: 1px double #2E2E2E;
			border-top: 1px double #2E2E2E;
			border-left:1px double #585859;
			border-right:1px double #585859;
		}
</style>
   
 <form action="" class="style2" method="post">  
<div class="box">


<label>
<span>Podaj imię:</span>
<input type="text" class="wpis" name="imie" maxlength="10" value="<?php echo $_SESSION['im'];?>"/>
</label>
<input type="submit" class="button" name="start" id="start" value="Wykonaj" />
</label>
</div>
</form>
   


<?php

if(isset($_REQUEST['start'])){
echo '<html>';
echo '<head>';
echo '<link rel="stylesheet" href="./css/stylephp.css" type="text/css" content="text/html; charset=UTF-8" />';
echo '<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" charset="UTF-8" />';
echo '<style type="text/css">';
echo '</style>'; 
 $imie = $_POST['imie'];
 echo $imie;
 $_SESSION['im'] = $imie;
 echo $_SESSION['im'];
}


   ?>

   </center>
</BODY>
</html> 

 
0

Jakim cudem Ci to w ogóle cokolwiek działa, jak session_start() powinno być na samej górze kodu?

0

o lol ;O
Raczej cały kod php wstawia się na samej górze...
A potem tylko <? echo $zmienna; ?> ale ok

A wyplowa to jakiś błąd czy coś?

poza tym po co to

echo '<html>';
echo '<head>';
echo '<link rel="stylesheet"
href="./css/stylephp.css"
type="text/css" content="text/html;
charset=UTF-8" />';
echo '<link rel="stylesheet"
href="./css/print.css" type="text/
css" media="print" charset="UTF-8" /
>';
echo '<style type="text/css">';
echo '</style>';

? i jeżeli podajesz plik ze stylem to wrzuc tam cały kod bo tak tylko burdek się robi...

0

Masz racje bo tak się robi. Ale generalnie to problem jest inny. Dlaczego nie zwraca w formularzu ostatniej zmiennej tylko przed ostatnią?

0

Bo pierwsze w kodzie wyświetlasz imię, a dopiero potem przypisujesz nowe imię do sesji? Kod wykonuje się po kolei z góry na dół.

1 użytkowników online, w tym zalogowanych: 0, gości: 1