Zdravim
Robil som stránku pod PHP 4... a nahral som ju na server s PHP 5...
a nastali problémy, používam premenné, ktoré nedeklarujem dopredu, kedže PHP to umožňuje a pracuje s nimi dost dinamicky,
nohláška: Notice: Undefined variable: premenna in ...... ma zaskočila, čo s tým? dá sa deklarovať tak premenná, aby pri
deklarácii nebola prepísaná jej hodnota? a Ako deklarovať tak, že typ premennej sa počas skriptu mení... ?
Ešte jedna otázka, $_POST[] vracia hodnotu hociktorej premennej vrámci skriptu?, aj keď tá premenná nieje z adresového riadku?:
prečo mi toto jednoducho v PHP 4 funguje a v PHP 5 nie? mám problém s tým deklarovaním premenných.
ako by trebalo týchto pár riadkov pozmenit tak aby v PHP 5 boli v pohode?
<html>
<body>
<?php
if ($list == 2) {
echo $tt; // tu dostanem hlášku že UNDEFINED VARIABLE $tt / však PHP má automaticky deklarovať premenné, nie?
$b = $b + 1;
echo $_POST['b'];
}
?>
<form action="index.php?list=2" method="POST">
<input type="hidden" name="tt" value="1">
<input type="submit" value="OK">
</form>
</body>
</html>
PHP 5 :)
Re: PHP 5 :)
skus do php kodu doplnit:
ja som to tiez musel takto definovat ked som si robil formular na posielanie mailov.
Tim si vlastne definujes premmenu z formulara. POST alebo GET je pouzity tip odosielania formulara a v zatvorkach je meno prvku (name). Dufam ze som pomohol aspon trochu.
Kód: Vybrať všetko
$tt = $_POST['tt']Tim si vlastne definujes premmenu z formulara. POST alebo GET je pouzity tip odosielania formulara a v zatvorkach je meno prvku (name). Dufam ze som pomohol aspon trochu.
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: PHP 5 :)
och, to zase bude riešení, keď sa niekto pustí do programovania a vie hovno z toho. Tak postupne:
wtf? Aký adresový riadok? Nepletieš si to s get? $_POST je superglobálne pole kde sú všetky premenné prenášané metodou post. Adresový riadok s tým nemá nič spoločnéEšte jedna otázka, $_POST[] vracia hodnotu hociktorej premennej vrámci skriptu?, aj keď tá premenná nieje z adresového riadku?:
a prečo by to malo php robiť automaticky? Ako si ono má tipnúť či tam chceš boolean, integer, string.. a akú hodnotu má mať? Ono ti má čítať myšlienky? Daj si tam niekde pred tým echom (pred podmienku) $tt = ""; A vôbec neviem čo je to $tt, vari len nepoužívaš register_globals?!echo $tt; // tu dostanem hlášku že UNDEFINED VARIABLE $tt / však PHP má automaticky deklarovať premenné, nie?
Re: PHP 5 :)
a prečo by to malo php robiť automaticky? Ako si ono má tipnúť či tam chceš boolean, integer, string.. a akú hodnotu má mať? Ono ti má čítať myšlienky? Daj si tam niekde pred tým echom (pred podmienku) $tt = ""; A vôbec neviem čo je to $tt, vari len nepoužívaš register_globals?![/quote]echo $tt; // tu dostanem hlášku že UNDEFINED VARIABLE $tt / však PHP má automaticky deklarovať premenné, nie?
Tu musim troska upozornit, ze PHP je slabo a dynamicky typovany jazyk, to znamena, ze mu je uplne ukradnuty datovy typ premennej.
co sa tyka toho $tt, tak ak sa jedna o udaj z formulara, tak treba k nemu pristupovat bud cez $_POST['tt'] alebo $_GET['tt']. Zalezi na tom aka je metoda formulara, takze ci v html kode mate
Kód: Vybrať všetko
<form method="post">Kód: Vybrať všetko
<form method="get">Kód: Vybrať všetko
<form>