Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
sõnum |
|
SGM
HV kasutaja
liitunud: 04.12.2005
|
14.01.2008 13:28:42
miks $_GET/POST ei toimi? :O |
|
|
Täitsa haige asi mul, pole kunagi varem olnud:
Mul on lehel üks nupp: <input type="button" class="button" value="blaablaa" onClick="document.location.href='?jeee=1';return false;">
ja see nupp enne saatis ilusasti impulsi if(isset($_GET["jeee"])){...} osasse, aga nüüd enam mitte. Täiesti lambist! Uurisin koodi, mitte kusagil pole selle "jeee"-ga midagi näpitud enne seda õiget kohta. Tegin isegi form-i selle ühe buttoni asemele, katsetasin isegi $_POST-iga, aga ikka sama jama, et ei lähe kohale! Millegipärast teine $_POST läheb kohale! Mõlemad asuvad includitud failis. Peafail includib headeri faili, milles on see button. Header includib veel ühe faili, mis omakorda includib selle $_POST ja $_GET sisaldava faili. Enne kõik toimis, aga ühtäkki enam mitte. Kui panin selle $_GET-i headeri faili, kus ka see button asub, siis jälle nagu toimis... Olen muutnud selle "jeee" nime ka... Midagi ei saa aru!
|
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
1 :: |
0 |
|
tagasi üles |
|
|
andrusny
Kreisi kasutaja
liitunud: 20.03.2006
|
14.01.2008 13:44:10
|
|
|
Pista kuhugi vahele see ja vaata, kas kuvab sul jee väärtuse. Ma proovisin tuli läbi.
$jeee = $HTTP_GET_VARS['jeee'];
echo $jeee; |
Ära seda kuhugi if sisse pane.
_________________
|
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
|
SGM
HV kasutaja
liitunud: 04.12.2005
|
14.01.2008 14:28:19
|
|
|
Mitte kui midagi!
Kui niisama midagi seal includitud failis echo'n, (nt. echo "blaa"; ) siis tuleb küll välja.
EDIT:
Ja imelik on ka see, et kui olen seal POST-formis vajutanud submitti, siis brauseri refresh lihtsalt refreshib lehte, isegi ei ütle, et POSTDATA oleks olemas! :O
Enne kõik töötas, iseenesest hakkas s***uma! Form action="", sest ei ole vaja kindlat faili - enne töötas nii! Ja töötab praegugi ühel teisel lehel.
W3C on ka korralikult valid...
|
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
1 :: |
0 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
14.01.2008 14:51:17
|
|
|
proovi enda masinas või teises serveris, võid ka teist brauserit proovida
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
SGM
HV kasutaja
liitunud: 04.12.2005
|
14.01.2008 15:46:48
|
|
|
mikk36 kirjutas: |
proovi enda masinas või teises serveris, võid ka teist brauserit proovida |
Ammu proovitud. Sama jama. See algas vist siis, kui cookie-dega jändasin, mitte midagi muud ei näppinud. Nüüd aga kõik setcookie() käsud eemaldatud ja küpsised kustutatud, aga ikka ei toimi! Ja FF küpsiste osasse tekib mingi PHPSESSID küpsis, kustutan ära, aga kohe tuleb uuesti! IE-ga ei tule, aga ka IE ei saada mitte ühte bitti infot läbi $_GET ega $_POST'i
Panin sinna posti vahele ühe echo, et kohe, kui mingi info postitatakse, echotaks välja mingi asi. Aga kuna postitamist mingil ülisalapärasel põhjusel ei toimu, siis on see vorm mul justkui dummy!
Samas näiteks otsing toimib, ometi on otsing ka $_GET ja asub samas headeri failis! Vahe selles, et seal on actioniks määratud teine fail. Proovisin seda probleemset kohta ka teise failiga - siis otse see fail, milles on need kõnealused $_POST ja $_GET, aga ei aita.
Selle kõige kirjeldamiseks sobib üks võõrsõna - absurd!
|
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
1 :: |
0 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
14.01.2008 16:00:43
|
|
|
ehk siis ei toimi selline script külastades aadressi midagi.php?test=lammas ?
php:
|
<?php if (isset($_GET["test"])) { } ?>
|
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
SGM
HV kasutaja
liitunud: 04.12.2005
|
14.01.2008 16:20:13
|
|
|
nii, kirjutasin faili (antud juhul index.php) otsa ?test=lammas, ja ette tuli "lammas", aga miks vorm ja button ei saada sellist asja edasi?
Seal on asi nii:
html:
|
<form action="" method="POST"> <input type="text" name="user" size="9" maxlength="16" class="loginform"> <input type="password" name="pass" size="9" maxlength="25" class="loginform"> <input name="login" type="submit" class="loginbutton" value="Logi sisse"> </form>
|
Selle peab kinni püüdma include->include->include("fail.php"), mis püüdis selle test=lammas küll kinni enne, kui tolle otse URLi taha lükkasin.
Selles "fail.php"-s on nii:
php:
|
if(isset($_POST["login"])){ // ja lisaks vajalik kood }
|
Aga mida ei kuvata, on "XXXX" ja isegi postdata ei lähe sisse! Seega võin pärast submitti teha refreshi vabalt... Justkui form oleks niisama dummy või GET vms...
|
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
1 :: |
0 |
|
tagasi üles |
|
|
linnumees
HV kasutaja
liitunud: 15.06.2005
|
14.01.2008 16:21:00
|
|
|
$_POST muutujas ei peagi midagi olema, kuna vormi ei saadeta ju ära, kasutaja suunatakse nupu vajutamisel ?jee=1 lehele.
var_dump() on ka su sõber. Ilmselt on sul asi lihtsalt vales kohas. :p
|
|
Kommentaarid: 3 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
3 |
|
tagasi üles |
|
|
SGM
HV kasutaja
liitunud: 04.12.2005
|
14.01.2008 16:28:10
|
|
|
imelik, nüüd eemaldasin koodist sellise asja nagu session_start() ja siis saatis $_POST ja $_GET info edasi, aga enam ju sessiooni pole. Fui... enne ju töötas, aga lambist keset päeva äkki mitte. Kohe, kui hakkasin küpsistega jamama.
|
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
1 :: |
0 |
|
tagasi üles |
|
|
linnumees
HV kasutaja
liitunud: 15.06.2005
|
14.01.2008 16:48:55
|
|
|
Mida väljastab var_dump($_POST); ?
|
|
Kommentaarid: 3 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
3 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
14.01.2008 16:52:51
|
|
|
type=submit ei peagi omama ju väärtust ?
pakun et kui üritad väljastada $_POST["user"] ja $_POST["pass"] saad sa ka oma väärtused kätte
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
linnumees
HV kasutaja
liitunud: 15.06.2005
|
14.01.2008 16:56:51
|
|
|
mikk36 kirjutas: |
type=submit ei peagi omama ju väärtust ? |
Üldjuhul ikka, sellest oleneb ju nupu tekst.
|
|
Kommentaarid: 3 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
3 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
14.01.2008 17:36:18
|
|
|
linnumees kirjutas: |
mikk36 kirjutas: |
type=submit ei peagi omama ju väärtust ? |
Üldjuhul ikka, sellest oleneb ju nupu tekst. |
post infosse see aga kirja ei lähe
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
linnumees
HV kasutaja
liitunud: 15.06.2005
|
14.01.2008 19:24:41
|
|
|
Läheb ikka.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="et" lang="et">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-15" />
</head>
<body>
<form action="" method="post">
<input type="text" name="tekst" value="Lorem ipsum dolor sit amet..." />
<input type="submit" name="nupuke" value="Saada" />
</form>
<?php
var_dump($_POST);
?>
</body>
</html> |
array
'tekst' => string 'Lorem ipsum dolor sit amet...' (length=29)
'nupuke' => string 'Saada' (length=5) |
Pildi puhul on väärtuseks punkt, kus kasutaja klikkis (x&y).
Kui name väärtust ei määra, mis ei ole ka nõutav, ei ole seda muidugi kusagilt võtta...
|
|
Kommentaarid: 3 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
3 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
14.01.2008 19:31:02
|
|
|
ahaa, jah, no tõesti, ei kasuta name andmist submitile (kuigi vastavalt sinu väljatoodud võimalusele võib sellest ka kasu olla)
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
SGM
HV kasutaja
liitunud: 04.12.2005
|
14.01.2008 22:00:57
|
|
|
Ma panen submitile alati name="nimi", olen nii harjunud, siis on selgem "püüda" seda koodis.
Ma ei mõika, miks see session_start() mul seal $_GET ja $_POST asjad olematuks tegi... Kui see ikka selle viga oli. Tõstsin session_start()-i üldse päris koodi algusesse ja siis nagu hakkas tööle jälle. Asjad on imelikud - näiteks doctype'i tagi sees olev url segas javascripti tooltippide kuvamist! Selle avastamisega oli peaaegu sama palju kebensit kui nende get/post-idega.
|
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
1 :: |
0 |
|
tagasi üles |
|
|
tanzanite
HV kasutaja
liitunud: 13.05.2006
|
16.01.2008 15:59:13
|
|
|
Mina jällegi väldin submit nupule nime andmast - kuna mingi värdjalik haige lehm (TM) arvas, et pagana kaval on saadetav väärtus võtta võrdseks nupu pealkirjaga (ehk vormi vastu võtva poole juures täiesti kasutuskõlbmatu).
|
|
tagasi üles |
|
|
nene
Kreisi kasutaja
liitunud: 20.03.2004
|
17.01.2008 01:35:25
|
|
|
tanzanite kirjutas: |
Mina jällegi väldin submit nupule nime andmast - kuna mingi värdjalik haige lehm (TM) arvas, et pagana kaval on saadetav väärtus võtta võrdseks nupu pealkirjaga (ehk vormi vastu võtva poole juures täiesti kasutuskõlbmatu). |
Selle probleemi vältimiseks on sul võimalik kasutada <button> elementi:
<button type="submit" name="nimi" value="väärtus">Saada</button> |
|
|
Kommentaarid: 24 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
1 :: |
23 |
|
tagasi üles |
|
|
tanzanite
HV kasutaja
liitunud: 13.05.2006
|
18.01.2008 15:21:39
|
|
|
8nnelikul FF-maal küll jah ... aga IE6'e support on ka vajalik.
|
|
tagasi üles |
|
|
SGM
HV kasutaja
liitunud: 04.12.2005
|
18.01.2008 18:16:38
|
|
|
tanzanite kirjutas: |
8nnelikul FF-maal küll jah ... aga IE6'e support on ka vajalik. |
Kas keegi oskaks kribada valmis viiruse, mis kõik maailma IE-d halvaks? Siis oleks palju kergem elu...
See nene näide võib olla vajalik siis, kui tahad sisestada mingit väärtust ainult nupuga, et mingeid textivälju, valikuid, hiddeneid ega muud ei oleks formi vahel...
|
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
1 :: |
0 |
|
tagasi üles |
|
|
|