Poslao: 27 Jul 2004 15:49
|
offline
- Max
- Super građanin
- Marko Milic
- MWEB - Project manager & Front-end developer /Saobracajni inzenjer
- Pridružio: 02 Nov 2003
- Poruke: 1363
- Gde živiš: Beograd - Jagodina
|
Ucim PHP iz dve knjige i naisao sam na potuno identican primer iz obe knjige: text iz HTML-a trebam da prosledim u PHP.
HTML:
<html>
<head><title>This HTML will call php document!!!</title></head>
<body bgcolor="#B8E7F8">
<form action="test.php" method="GET">
<input type="text" name="user_name">
<br>
<textarea name="address" rows="5" cols="40">
</textarea>
<br>
<input type="submit" value="Posalji">
<input type="reset" value="Resetuj">
</form>
</body>
</html>
PHP->test.php
<html>
<head><title>This is input php page!!!</title></head>
<body>
<?php
print "Welcome <b>$user_name </b><p>\n\n";// linija 5
print "Your address is:<p>\n\n<b>$address</b>"; // linija 6
?>
</body>
</html>
Medjutim server mi izbacuje gresku u linijama 5 i 6 u php skripti, kaze da nije definisana promenljiva. Gde gresim,tj. gde oni grese posto sam primer prepisao iz knjige.
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 27 Jul 2004 16:38
|
offline
- mire
- Elitni građanin
- Pridružio: 18 Apr 2003
- Poruke: 2282
- Gde živiš: Beograd
|
da li ti kliknesh na dugme posalji ?
ako kliknesh i on te prebaci sve treba da radi
btw upisi neke podatke u text polja ...
|
|
|
|
Poslao: 27 Jul 2004 16:55
|
offline
- Peca
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
ma, znam sta je, iskljucen mu register_globals
max, evo ti ispavka:
print "Welcome <b>".$_REQUEST['user_name']." </b><p>\n\n";// linija 5
print "Your address is:<p>\n\n<b>".$_REQUEST['address']."</b>"; // linija 6
|
|
|
|
Poslao: 27 Jul 2004 20:44
|
offline
- Max
- Super građanin
- Marko Milic
- MWEB - Project manager & Front-end developer /Saobracajni inzenjer
- Pridružio: 02 Nov 2003
- Poruke: 1363
- Gde živiš: Beograd - Jagodina
|
@mire
molim te daj bre vise ne zezaj....
@peca
To je bilo to,sad radi .Hvala jos jednom!
|
|
|
|
Poslao: 27 Jul 2004 20:51
|
offline
- Peca
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
u novijim verzijama PHP-a vise ne mozes tako da pristupas 'ulaznim' promenljivama...
Sada sve ide preko $_GET[], $_POST, $_COOKIE[] ili $_REQUEST[] nizova, iz bezbednosnih razlika.
$_REQUEST[] sadrzi sve ulazne promenljive, ne vezano da li si ih poslao GET ili POST metodom, ili preko cookie-a.
A ako znas tacno koja metoda se koristi - onda mozes da koristis i $_GET[], $_POST ili $_COOKIE[].
U tvom primeru ce raditi i $_GET['user_name'], posto koristis GET metodu.
|
|
|
|
Poslao: 30 Jul 2004 23:54
|
offline
- Max
- Super građanin
- Marko Milic
- MWEB - Project manager & Front-end developer /Saobracajni inzenjer
- Pridružio: 02 Nov 2003
- Poruke: 1363
- Gde živiš: Beograd - Jagodina
|
Opet nesto ne valja sa ovim primerima iz knjige
<html>
<head><title>Simple file upload form!!!</title></head>
<body>
<form enctype="multipart/form-data" action="<?php $PHP_SELF?>" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="51200">
<input type="file" name="fupload"><br>
<input type="submit" value="Upload!">
</form>
</body>
</html>
Probao sam nekoliko primera sa $PHP_SELF nijedan nece da radi.
Server izbacuje poruku:Forbidden
You don't have permission to access /< on this server.
Imam PHP4 instaliran i knjiga je o PHP4, u cemu je fora, od kad su nastale te izmene kao sa $_REQUEST da znam koju literaturu da trazim jer ova kako stvari stoje ide u kantu, tj. u Recycle Bin.
|
|
|
|
Poslao: 31 Jul 2004 00:08
|
offline
- Peca
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
nema potrebe da ide u kantu, samo je pristup ulaznim promenljiama promenjen - sve ostalo je isto.
probaj: $_SERVER['PHP_SELF']
ako je promenljiva usred apostrofa - onda izadji iz njih, ovako:
echo "blablabla ".$_SERVER['PHP_SELF']." blablabla";
i procitaj http://www.php.net/manual/en/reserved.variables.php
|
|
|
|
Poslao: 31 Jul 2004 14:43
|
offline
- Max
- Super građanin
- Marko Milic
- MWEB - Project manager & Front-end developer /Saobracajni inzenjer
- Pridružio: 02 Nov 2003
- Poruke: 1363
- Gde živiš: Beograd - Jagodina
|
Zamenio sam, sad ta linija izgleda ovako:
<form enctype="multipart/form-data" action="<? print $_SERVER['PHP_SELF']?>" method="post">
Ali i dalje nije mi dozvoljen pristup serveru, poruka:Forbidden
You don't have permission to access /< on this server
Ipak u ovom slucaju mislim da nemoze echo da se upotrebi zato sto je $_SERVER['PHP_SELF'] ugnjezden u action.
Da nije mozda problem u podesavanju servera?
Procitao sam ovaj manual o globalnim variablama mnoge stvari su mi sada jasnije, ali to jednostavno nije resilo problem. Sve bi trebalo da radi kao sto si Peco i napisao ali nesto tu nevalja.
|
|
|
|
Poslao: 31 Jul 2004 15:32
|
offline
- Peca
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
a zasto tako ugnjezdavas PHP, pobogu.
Ajd probaj ovako:
<?
$self=$_SERVER['PHP_SELF'];
echo <<<eof
<form enctype="multipart/form-data" action="$self" method="post">
eof;
?>
|
|
|
|
Poslao: 01 Avg 2004 21:30
|
offline
- Max
- Super građanin
- Marko Milic
- MWEB - Project manager & Front-end developer /Saobracajni inzenjer
- Pridružio: 02 Nov 2003
- Poruke: 1363
- Gde živiš: Beograd - Jagodina
|
Ustvari sta je bio problem jednostavno nije mogao stranicu da prihvati kao HTML. Zamenio sam .html u .php i proradio je tj. neprijavljuje ni jednu gresku ali fajl koji uplodujem..nema ga nigde. Trebao bi da ga smesti u c:\windows\temp ali tamo ga nema.
Uradio saM posle jos jedan malo slozeniji primer koji ispisuje poruku posle upload i ta poruka glasi:
1name: baner.png
size: 5116 bytes
temp name: C:\windows\TEMP\php31.tmp
type: image/png
error: 0
Ali nema nigde php31.tmp na celom disku.
Samo da kazem da sam u php.ini podesio upload_tmp_dir da bude c:\windows\temp ali i sa c:\www\root\temp, koji sam ja kreirao, nece da radi tj. nema fajla.
|
|
|
|