PHP-ban hogyan lehet POST-olni az adatokat küldés gomb nélkül?
Nem szeretnék GET-et használni mert sok a függvény amit át akarok vinni és az eredeti adatokat amit kapott azt már Űrlaptól kapta. csak újra frissül az oldal egy bizonyos időközönként és a POST adatok elvesznek
milyen fügvénnyel lehet újraküldeni a postokat anélkül hogy küldés gomb legyen hanem autómatán csatolja amikor újra frissül ?
Használj session erre a célra.
A post adatot eltárolod session-be, így megmarad.
<?php
session_start();
Így kezd minden oldalad,ahol el akarod érni a változókat. 2. sornak mindenképpen a session_start(); -nak kell lennie,mert nem fog működni.. ha véletlen nyomsz egy entert a <?php előtt,akkor már nem jó..
na most írtam valamit az alapján amit internetről összeguberáltam a session-ról, de nem működik valahogy.
index.php hagyományos ürlapbevitel:
<html>
<head>
<title> - - keresési űrlap - - </title>
</head>
<body>
<br>
<br>
<form method="POST" action="feldolgoz.php" target="ablak">
Keresendó kifelyezés : <input type="text" name="keresendo" value="" />
<br>
<br>
hol keressen :
<select name="hol_keres">
<option value="forumokon">Fórumokon</option>
<option value="adatbazisban">Adatbázisban</option>
<option value="cikkekben">Cikkekben leírásokban</option>
</select>
<br>
<br>
kulcsszavak keresése:
<br>
<br>
mindegyik kulcsszó szerepeljen benne
<input class="radio" name="keresesi_mod" value="mind" type="radio"><br>
bármelyik kulcsszó szerepel benne
<input class="radio" name="keresesi_mod" value="barmelyik" type="radio"><br>
vagy az egyik vagy a másik.
<input class="radio" name="keresesi_mod" value="vagyvagy" type="radio"><br>
<br>
<br>
<br>
kizárt kulcsszavak amik ne szerepeljenek benne:
<input type="text" name="kizarva" value="" />
<br>
<br>
<input type="submit" value="Elküldés" />
</form>
<br>
<br>
<iframe style="width: 900px; height: 600px;" name="ablak"
marginwidth="1" marginheight="1" src="" frameborder="1"
height="500" scrolling="yes" width="50%"></iframe>
</body>
</html>
feldolgoz.php egy közöttes hibakereső:
<?php
session_start();
session_name("keresesi_urlap_01");
$keresendo = $_POST["keresendo"];
$hol_keres = $_POST["hol_keres"];
$keresesi_mod = $_POST["keresesi_mod"];
$kizarva = $_POST["kizarva"];
$tomb = array($keresendo, $hol_keres, $keresesi_mod, $kizarva);
session("$tomb") = $tomb;
print "<html><head><title>";
print $keresendo." - keresés";
print "</title>";
$hibauzenet = "nincs";
/// ide jön az űrlap kitöltési hibakereső része de most nem írom le mert csak példa ///
if ($hibauzenet == "nincs") print '<meta http-equiv="refresh" content="0; URL=eredmeny.php">';
print "</head><body><br>";
if ($hibauzenet <> "nincs") print $hibauzenet;
print "<br></body></html>";
?>
aztán az eredmény ahol meg szeretném már jeleníteni a session-os adatokat de hogyan olvasassam ki ? vagy hova vigyem be ? vagy ez most hova menti le az adatokat ?
<?php
session_start();
session_name("keresesi_urlap_01");
$tomb = session("$tomb");
$keresendo = $tomb[0];
$hol_keres = $tomb[1];
$keresesi_mod = $tomb[2];
$kizarva = $tomb[3];
print "<html><head><title>";
print $keresendo." - keresés";
print "</title></head><body>";
print "keresett kifejezés : ".$keresendo."<br>";
print "keresés helye : ".$hol_keres."<br>";
print "keresesi_mod : ".$keresesi_mod."<br>";
print "kizárt kifejezés : ".$kizarva."<br>";
print "<br><br>";
print "Keresés eredménye : ";
print "</body></html>";
?>
mondjuk pont a lényeget irtam rosszul de akárhogy szenvedek vele hibaüzeneteket dobál:
valahogy be kellene vinni az adatot
$_SESSION("$tomb") = $tomb;
meg valahogy le kéne kérni.
$tomb = $_SESSION("$tomb");
vagy hova teszi be a dolgot ? az lenne az igazi ha csinálna pl egy sütit hozzá de most Easyphp-vel háziszerverszimulátoron futtatom, lehet e az is az oka hogy bizonyos szerverek nem támogatják ?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!