Súgó - Keresés - Tagok - Naptár
Teljes változat: Változó post form nélkül
PC WORLD Segélyvonal > WEBSAROK > Webszerkesztés, programozás > PHP
google
Hogyan tudnék változót postolni form nélkül? Egy linkre kattintva szeretnék dinamikusan lapot megjeleníteni, amihez elengedhetetlen a változó. roll.gif
Mezofi
És esetleg a linket így megadni www.valami.hu?változo neve=érték
és az adott lapon request-el elkapni a változó értékét.
Vagy flash gombbal lehet változót átadni.
biggrin.gif
google
IDÉZET(Mezofi @ 2005. július 27., 20:40 - szerda)
És esetleg a linket így megadni www.valami.hu?változo neve=érték
és az adott lapon request-el elkapni a változó értékét.

Igen pontosan ez érdekelne! (vagy valami ilyesmi)
Hogy néz ki egy ilyen pontosan?
Mezofi
KÓD
<a href="lap.php?param=<?php echo $szam;?> "Kattints ide</a>

A lap.php oldalon
$szam=$_REQUEST['param'];
print("<br>Ez az átadott érték".$szam);
//Egyébként mikor a linkre álsz a böngésző megjeleniti a link tartalmát benne a változó aktuális értékét,

Ha jól emlékszema $_REQUEST elkapja a POST-al érkezőket is , de ezt nem próbáltam még.

mint a forumnál is
http://www.pcworld.hu/forum/index.php?act=...E=02&f=77&t=610
Itt is van act és CODE és t érték átadva.
smile.gif
google
Igen, az világos, csak magával a requesttel nem találkoztam még. roll.gif
köszönöm. smile.gif
ocsi
Url-en keresztül...(mint ahogy ebben a fórumban is)

KÓD
<a href="http://akármi.html/?valtozo=$ertek&valtozo2=$ertek2&valtozo3=$ertek3">


Így lesz 3 változódnak értéke....

DE!

Haladóknak ebben a témában érdekes lehet ez a cikk:
Rövid webcím
Mezofi
@google
Eszembe jutott egy olyan megoldás, ha érdekel, hogy egy bármilyen kép főlé viszed a kurzort, és rákattintasz, akkor egy adott oldalra visz és bármilyen változót át ad, a linken keresztül.
Ez csak ilyen plussz!

Nálam meg tudod nézni, vidd egy kép fölé a kurzort és a böngésző alsó sávjában már meg is jelenik a link a paraméterekkel. Mnden képnél más-más paraméterrel.
Itt
biggrin.gif
Biszke
Ha van egy változó, aminek az egyik oldalon adok egy értéket, azt hogyan tudom átvinni egy másik oldalra?

Pl:
1.php

KÓD
<?php

$valtozo = "ertek";

?>


és ha innen átmegyek egy másik oldalra (pl. form-ban button gombbal), akkor ott a $valtozo értékét valahogy meg tudjam "szerezni".
Mezofi
A változók átadására használhatod a SESSION-t, aztán átadhatod URL segítségével.
Ezekre példát találsz a segédletek oldalamon.
Ha formal adod át a változódat akkor is ugyanúgy veszed le mint ahogy az oldalamon írtam, persze attól függ, hogy milyen method-al küldöd (POST, GET).

Nézzük POST-al.
KÓD
<form method='post' name='form1' action='index.php'>
<input type='text' name='email' />
</form>

index.php tartalma
<?php

if(isset($_POST["email"])){
$email=$_POST["email"];
print($email);
}
?>

biggrin.gif
Biszke
Köszi, kipróbálom.
Biszke
Köszi Mezőfi!

Igazából az oldaladon találtam meg a megoldás a "Változó átadása egy másik lapnak session segítségével."-ben.

Mégegyszer köszi. thumbsup.gif
Mezofi
Nincs mit.
Szívesen.
Ha kell valami, akkor nézz körül ott, hátha megtalálod a megoldást elsőre.
biggrin.gif
bal
Abban nem tudtok véletlenül segíteni, hogy miért nem kapja meg a php ezt a változót? Mindenhol működik, de most egy új tárhelyen próbálom és ott nem jön össze.
molnid
Lehet, hogy tudnék is válaszolni, ha tudnám mire gondolsz. Itt több dolgról volt már szó.

$_POST, $_GET, $_REQUEST, $_SESSION és sima $valtozo de még a form nevére is gondolhatsz, ami ugye változóként dolgozható fel.
bal
Igaz elég hülyén fogalmaztam mert nem volt sok időm próbálom részletezni. Szóval a html be a link úgy néz ki nekem hogy <a href="?m=1">katt</a> utánna a php fügvényben ugye az $m=1 ezért végrehajtja azt a függvényt, ami hozzátartozik ez működni szokott. Most az a baj hogy a link hiába írja ki a címsorban hogy pl index.php?m=1 a php nem hajtja végre. Kiírattam a m változót is de egyáltalán nem kap semmi vissza. A gépen az appservet használom ott jól működik meg az ingyenes tárhelyeken is jó szokott lenni. Csak most egy tárhelyen, ahol működnie kéne ott nem megy.

Ha így valaki tudna segíteni megköszönném.

Köszi:)
molnid
Próbáld meg kiiratni a tömböket, $_POST, $_REQUEST, $GLOBALS, hátha valahol kiírja. Lehet, hogy nem használhatod a $_POST tömböt csak a $HTTP_POST_VARS-ot.

Kiiratni így tudod legegyszerűbben:
<pre>
<? print_r($GLOBALS); ?>
</pre>
bal
Mit kellene kiírnia mert a post és a request csak ennyit ír ki

Array
(
)
Spányik Balázs
Az URL paraméter alapján automatikusan létrehozott változó volt a legdurvább biztonsági rés a PHP korábbi verzióiban. Az új verziókban alapból le van tiltva.
molnid
Arra gondolsz, hogy a register_globals = off ?

Mert attól még létre kéne jönnie a $_GET tömbben az URL-ben átadott értékeknek. Amit ugye a $_REQUEST -ből is el kéne tudni érni.

Gondolom félreértettem.
bal
Akkor most mit lehet tenni? De még ez a fórum is így működik vagy nem?

Hát akkor egyenlőre vissza a html hez hogy legyen vagy 10 oldalam smile.gif
Spányik Balázs
@molnid: persze. $_POST, $_GET, $_REQUEST stb.-n keresztül el kell tudja érni.

@bal: A világ összes PHP-s weboldala így működik, a PHP-t eredetileg formok kezelésére találták ki. Megnézted a fenti tömböket, és mind üres volt?! Ez egész biztosan lehetetlen.
molnid
mi lenne, ha ezt:
action="?m=1"

kicserélnéd erre:
action="<?=$_SERVER['PHP_SELF']?>?m=1"
bal
Így se megy sad.gif

Ez valami server gyík lehet?
Spányik Balázs
Látatlanban nem fogjuk tudni megoldani. Legalább a hibaüzeneteket írd be, vagy a jelenséget, a változók tartalmát, egy kódrészletet, bármit. smile.gif
Ez a tartalom egy lebutítottváltozata. A teljes változat képekkel kiegészült megtekintéséhez kérünk, kattints ide.