Autor Zpráva
BLUECORE
Profil *
Potreboval by som vediet jednu vec, začínam v PHP, a z knižky som spravil toto

Kód:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
<title>Zadavanie</title>
</head>

<body>

<h2>Zadavanie</h2>
<p>Zadaj text, ten sa potom v dalsej stranke premeni ...</p>

<form name="Zadavanie" action="zobraz.php" method="post">
<input type="text" name="Text" size="100" />
<input type="submit" value="Odoslat" />
</form>

</body>
</html>



a toto:
Kód:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>

<body>

<h2>Vysledok zadavania</h2>

<p>Toto je text, ktory ste zadali</p>

<?php
echo "Zadany text: ";
echo $Text;
echo "<br />
Upraveny text: ";
echo strtoupper($Text);
?>
<br><br>
<a href="zadaj.htm">Spat k zadavaniu</a>
</body>
</html>



to čo by ale malo spraviť, na stránke http://testingsite.wz.cz spravi, ale na mojom ISS serveri mi napise toto:
Kód:

Notice: Undefined variable: Text in d:\Inetpub\wwwroot\PHPskusky\zobraz.php on line 16



ale server mám dobrý, lebo inak by mi to ani nezobrazilo, a nechapem čo to ma znamenať ...
WertriK
Profil *
<?php
echo $Text = $_POST["Text"];
echo "Zadany text: ";
echo $Text;
echo "<br />
Upraveny text: ";
echo strtoupper($Text);
?>
BLUECORE
Profil *
aha, hmm, ale prečo na webzdarma to ide? je to tiež problem servera alebo nie?
WertriK
Profil *
je to problem nastaveni servru, konkretne
register_globals
BLUECORE
Profil *
a nemohol by si mi prosím ťa povedať, že kde to nastavím?
djlj
Profil
BLUECORE
v php.ini
BLUECORE
Profil *
čo? a to je kde, ja fakt len začínam a začal som asi pred 1 hodinou ...
krteczek
Profil
BLUECORE: nikde nenastavuj register globals na on! ale nauč se zpracovat veškere proměnné z $_POST, $_GET, $_COOKIES
je to bezpečnější, a na všech hostinzích začínají postupně vypínat register_globals takže by t to treba mohlo jit nejaky ten tyden a potom bys stejne musel aplikaci celou přepsat
krtzeczek
BLUECORE
Profil *
aha super vdaka dobra rada

ibaze teraz mi nejde toto

<?php
$Text = $_POST['Text'];
if (!isset($Text)) $Text = "???";
echo "Zadany text: ";
echo $Text;
echo "<br />
Upraveny text: ";
echo strtoupper($Text);
?>

logicky to znamena, ze ak premenna text nema hodnotu, prirad jej retazec ??? no bohuzial to nefunguje a už som z toho fakt blbý ... a sere ma najviac to že v knižke to je písané presne tak jak som hore uviedol ...
creck
Profil
dej tam podminku

if(!isset($Text) || $Text=='') {
.
.
.
}
BLUECORE
Profil *
heh, no, to je na mňa zložité :D, ide mi o to, že v knižke je to písané asi pri tom register_globals na on, a už som to našiel, tak rozmýšlam či to zapnúť aj keď to nieje dobré, chcem to zapnúť kvoli knižke, čo poviete? srať na to alebo to zapnúť? (kvoli tej knižke)
BLUECORE
Profil *
tak, keby som sa dočítal v knižke trocha ďalej zistil by som že táto problematika je tam vysvetľovaná :D
tak som to spravil takto:

<?php
if (isset($HTTP_POST_VARS["Text"]))
$Text = $HTTP_POST_VARS["Text"];
else {
if (isset($HTTP_GET_VARS["Text"]))
$Text = $HTTP_GET_VARS["Text"];
}
echo "Zadany text: ";
echo $Text;
echo "<br />
Upraveny text: ";
echo strtoupper($Text);
?>

našťastie mám aj druhú 550 stranovú knižku nie len túto, takže na začiatok to stačí :D

PS: chcem sa spýtať, že ak riadky

if (isset($HTTP_POST_VARS["Text"]))
$Text = $HTTP_POST_VARS["Text"];
else {
if (isset($HTTP_GET_VARS["Text"]))
$Text = $HTTP_GET_VARS["Text"];
}

nahradím týmto:

if (isset($_POST["Text"]))
$Text = $_POST["Text"];
else {
if (isset($_GET["Text"]))
$Text = $_GET["Text"];
}

či to bude fungovať (myslím že hej ale niesom si istý ... )
krteczek
Profil
no predevším bys měl už testovat tu hodnotu $_POST['text']

$text='';
if(!empty($_POST['text']))
{
$text=$_POST['text'];
}
else
{
echo 'nevyplnili jste textové pole';
}

krteczek
BLUECORE
Profil *
ešte niečo, vďaka za všetky odpovede :)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0