mohl by mi prosim nekdo poradit proc se mi udaje nedostavaji z formulare (v ramci session) na dalsi stranky?
na indexovy strance mam:
<?php
$formular = "
<form action=index.php method=post>
<table bgcolor=\"black\" cellspacing=\"1\">
<tr bgcolor=\"#A5A567\">
<td>
Uživatelské jméno:
</td>
<td>
<input type=text size=20 name=jmeno>
</td>
</tr>
<tr bgcolor=\"#F5F5C4\">
<td align=\"center\" colspan=\"2\">
<input type=submit value=\"Odešli\">
</td>
</tr>
</table>
</form>
";
echo $formular;
?>
odkazuji se na tu samou stranku, kde je formular (index.php)
a udaje z formulare (jmeno) ziskam a vypisu (potud to jde v poradku)
ale problem nastane v pripade, ze chci ziskanou hodnotu $jmeno
prenest na dalsi stranku (napr. page2.php) . V uvodu stranky page2.php
mam napsano:
<?php
session_start();
$name = $jmeno;
echo "jmeno na druhé stránce je nasledujici...$jmeno";
?>
pruser je ten ze se nic v echu nevypise (hodnota proste NEDORAZI)
Mohl by mi prosim nekdo pomoci?
Predem dekuji......
zkus
<?php
session_start();
$name = $_GET['jmeno'];
echo "jmeno na druhé stránce je nasledujici...$jmeno";
?>
ne, takhle:
<?php
session_start();
$name = $_GET['jmeno'];
echo "jmeno na druhé stránce je nasledujici...$name";
?>
<?php
session_start();
$_SESSION['name'] = $_GET['jmeno'];
echo "jmeno na druhé stránce je nasledujici... ". $_SESSION['name'];
?>
a do tretice:)
<?php
session_start();
$_SESSION['$name'] = $_GET['jmeno'];
echo "jmeno na druhé stránce je nasledujici...$_SESSION['$name'];
?>
Sojkovec: Hlavne ze jsme se shodli ;)
Az na posledni radek v tvem reseni: Hadam to na Parse error :-)
Hele porad to nejde, tak zasilam vice zdrojoveho kodu....
indexova page je:
<?php
// * SESSION
$jmeno = $_POST[jmeno];
echo "jmeno z formulare je...$jmeno<br/>";
session_register($jmeno);
//session_register("email");
$uzivatel =$jmeno;
//$email="josef@novak.cz";
echo "zatim jde vsechno hladce a jmeno session je...$uzivatel<BR /><BR />";
$formular = "
<form action=index.php method=post>
<table bgcolor=\"black\" cellspacing=\"1\">
<tr bgcolor=\"#A5A567\">
<td colspan=\"2\" align=\"center\">
<b>Registrace uživatele</b>
</td>
</tr>
<tr bgcolor=\"#F5F5C4\">
<td>
Uživatelské jméno:
</td>
<td>
<input type=text size=20 name=jmeno>
</td>
</tr>
<tr bgcolor=\"#A5A567\">
<td align=\"center\" colspan=\"2\">
<input type=submit value=\"Odešli\">
</td>
</tr>
</table>
</form>
";
echo $formular;
// SESSION END
?>
a stranka na kterou se pomoci linku z indexove stranky dostanu obsahuje nasledujci:
<?php
session_start();
$_SESSION['$name'] = $_GET['jmeno'];
echo "jmeno na druhé stránce je nasledujici...$_SESSION['$name'];
?>
a nic se nevypise....... bude to nejaka blbost, otazka ale zni: JAKA?
..to $_POST[jmeno]; -> $_POST['jmeno'];
to POST funguje i bez apostrofu(i kdyz to neni zrovna moc dobre), jelikoz se mi ihned po odeslani formulare zobrazi vlozena hodnota...chyba bude nekde jinde....ale....KDE?
inicializace session nesmí být po žádném odeslání výstupu. ty máš v indexové stránce před session inicializací to echo. a to tam právě být nemá ;) zbytek máš úplně v pořádku.
tak jsem zakomentoval to echo v indexu a.....................porad se mi na dalsi strance nic nevypisuje :(
indexova page je:
<?php
// * SESSION
session_start();
$_SESSION['jmeno'] = $_POST['jmeno'];
//echo "jmeno z formulare je...$jmeno<br/>";
//session_register($jmeno);
//session_register("email");
$_SESSION['uzivatel'] = $jmeno;
//$email="josef@novak.cz";
echo "zatim jde vsechno hladce a jmeno session je...".$_SESSION['uzivatel']."<BR /><BR />";
$formular = "
<form action=index.php method=post>
<table bgcolor=\"black\" cellspacing=\"1\">
<tr bgcolor=\"#A5A567\">
<td colspan=\"2\" align=\"center\">
<b>Registrace uživatele</b>
</td>
</tr>
<tr bgcolor=\"#F5F5C4\">
<td>
Uživatelské jméno:
</td>
<td>
<input type=text size=20 name=jmeno>
</td>
</tr>
<tr bgcolor=\"#A5A567\">
<td align=\"center\" colspan=\"2\">
<input type=submit value=\"Odešli\">
</td>
</tr>
</table>
</form>
";
echo $formular;
_________________________________________________
a stranka na kterou se pomoci linku z indexove stranky dostanu obsahuje nasledujci:
<?php
session_start();
echo "jmeno na druhé stránce je nasledujici..." . $_SESSION['$name'];
?>
Tohle by melo jit...
Resp. Mala(e) oprava(y):
<?php
// * SESSION
session_start();
$jmeno = $_POST['jmeno'];
$_SESSION['uzivatel'] = $jmeno;
//echo "jmeno z formulare je...$jmeno<br/>";
//session_register($jmeno);
//session_register("email");
//$email="josef@novak.cz";
echo "zatim jde vsechno hladce a jmeno session je...$jmeno<BR /><BR />";
$formular = "
<form action=index.php method=post>
<table bgcolor=\"black\" cellspacing=\"1\">
<tr bgcolor=\"#A5A567\">
<td colspan=\"2\" align=\"center\">
<b>Registrace uživatele</b>
</td>
</tr>
<tr bgcolor=\"#F5F5C4\">
<td>
Uživatelské jméno:
</td>
<td>
<input type=text size=20 name=jmeno>
</td>
</tr>
<tr bgcolor=\"#A5A567\">
<td align=\"center\" colspan=\"2\">
<input type=submit value=\"Odešli\">
</td>
</tr>
</table>
</form>
";
echo $formular;
_________________________________________________
a stranka na kterou se pomoci linku z indexove stranky dostanu obsahuje nasledujci:
<?php
session_start();
$jmeno = $_SESSION['uzivatel'];
echo "jmeno na druhé stránce je nasledujici...$jmeno";
?>
TYVM Sojkovec.....vsechno facha tak, jak ma :)
a jaktoze se nemusi predavat SID?
jo takhle, kdyz ma nekdo cookies vyply, ulozi se id do konstanty SID, jinak to beha pres cookies