Jump to content
php.lv forumi

Problēma ar sesijām


intero

Recommended Posts

Problēma sekojoša: Mēģinu uztaisīt Login sistēmu, tomēr atduros pret sesijām :(

 

index.php

<FORM METHOD=POST ACTION="test.php">
<INPUT TYPE="text" NAME="name">
<INPUT TYPE="submit">
</FORM>

 

 

 

 

test.php

<?php
session_start();

$_SESSION['user'] = $_POST['name'];

echo $_SESSION['user'] . "<br>";  //parbaudaam
?>

<a href=test.php >home</a>
<a href=?log=main2 >main2</a><br>

<a href=test2.php>Test2</a>
<hr>
<?
if ($log == "" ) include "main.php";
if ($log == "main2" ) include "main2.php";

?>

 

 

 

un main2.php

Main2<br>
<?
echo $_SESSION['user'];  //parbaudaam
?>

 

 

Komentārs: :)

Ievadot vārdu "TEST" , nosūtam to uz test.php un tur mēs redzam vārdu "TEST" .

It kā viss pareizi..

Un tālaāk sākas problēma! Ja mēs nospiežam Linku Home vai main2, vairs vārdu TEST neredzam. Cik man šķiet, tad taa ir Include vaina, jo spiežot uz Linku Test2

<?php
session_start();
echo "Vārds = " . $_SESSION['user'] . "<br>"; //parbaudaam
?>

 

šajā gadījumā vardu TEST redzam izvāditu... viss ir kārtībā.

Lūdzu palīdziet, jo man par sesijām ir tumša bilde :( bet gribētos, lai tā nebūtu. :unsure:

Link to comment
Share on other sites

Te nav nekāda vaina ar sesiju nesaprašanu, bet gan ar POST darbības nesaprašanu. Skaties, tev test.php ir kods:

<?php
  session_start();
  $_SESSION['user'] = $_POST['name'];
  ...

 

Pirmo reizi logojoties no index.php faila protams, tiek padota tā input name="name" vērtība POST masīvā. A bet nākamreiz, kad tu ej uz test.php failu spiežot to linku, padomā vai tad notiek POST darbība, t.b. vai kautkāda forma tiek submitēta? Taču nē! Tiks piešķirts tukšs strings. Būtu tev uzlikts error_reporting(E_ALL); uzreiz redzētu, ka izmet kļūdu (tb notici) par nedefinētu masīva elementu.

 

Turpmāk visu skriptu sākumā liec šādas rindiņas:

error_reporting(E_ALL);

ini_set(display_errors, "1");

Vieglāk pamanīsi kļūdas.

Link to comment
Share on other sites

×
×
  • Create New...