A "Frissítési gond"-ok újra
Nemrég volt egy kérdésem, amire megkaptam a választ ("Frissítési gond" átirányítással). Ebből kifolyólag támadt még egy kérdésem:
azt szeretném, hogy leellenőrzöm az űrlapot, majd ha hibás akkor az űrlap fölé kiírom a hibákat ugyanazon az oldalon viszont ha nem hibás akkor átirányítom egy másik lapra, ami feldolgozza az adatokat, majd 'visszarak' az előző űrlapos oldalra.
tehát az a kérdésem, hogy létezik-e olyan függvény PHP-ben(!), amivel így el lehetne küldeni az adatokat.
nagyjából erre gondoltam:
<form action="<? print $PHP_SELF ?>?submit=i" method="post">
.
.
.
.
<input type="submit">
</form>
<?
if ($submit=="i")
{
if (van_hiba)
{
hibaüzenet;
}
else
{
átirányítás az adatfeldolgozó lapra
}
}
Arra gondoltam hogy elküldöm egy header ("location: adatfeldolgozo.php?elkuldendo=$adat")
csak mi van akkor, ha mondjuk több oldalas szöveget akarok elküldeni?tehát ez nem a legjobb megoldás.
Ha vki tud jobbat az szóljon!KÖSZI!
■ azt szeretném, hogy leellenőrzöm az űrlapot, majd ha hibás akkor az űrlap fölé kiírom a hibákat ugyanazon az oldalon viszont ha nem hibás akkor átirányítom egy másik lapra, ami feldolgozza az adatokat, majd 'visszarak' az előző űrlapos oldalra.
tehát az a kérdésem, hogy létezik-e olyan függvény PHP-ben(!), amivel így el lehetne küldeni az adatokat.
nagyjából erre gondoltam:
<form action="<? print $PHP_SELF ?>?submit=i" method="post">
.
.
.
.
<input type="submit">
</form>
<?
if ($submit=="i")
{
if (van_hiba)
{
hibaüzenet;
}
else
{
átirányítás az adatfeldolgozó lapra
}
}
Arra gondoltam hogy elküldöm egy header ("location: adatfeldolgozo.php?elkuldendo=$adat")
csak mi van akkor, ha mondjuk több oldalas szöveget akarok elküldeni?tehát ez nem a legjobb megoldás.
Ha vki tud jobbat az szóljon!KÖSZI!
form feldolgozas.
egy sima form mondjuk tartalmaz harom input type textet es egy submit gombot.adunk nekik neveket, pl: name, pass, email , submit.
ekkor beleirod php fileba a kovetkezot:
majd sorban ellenorzom az osszes mezot, es ha gond van vele akkor $error_msg .= "a gond leirasa";
az ellenorzesek vegen pedig egyszeruen
Nem, nem voltál bőbeszédű
<html>
<head>
<title></title>
</head>
<body>
<form action="<? print $PHP_SELF ?>" method='post'>
<input type="text" name="adat1"><br>
<input type="text" name="adat2"><br>
<input type="submit" value="ellenörzés>
</form>
</body>
</html>
<?
$hiba_uzenet="";
if(isset($_POST['submit']))
{
if ($adat1=='')
{
$hiba_uzenet=$hiba_uzenet."Hiányzik az adat1<br>";
}
if ($adat2=='')
{
$hiba_uzenet=$hiba_uzenet."Hiányzik az adat2<br>";
}
if (empty($hiba_uzenet))
{
print 'oké! mehet az adatfeldolgozás!!';
}
else
{
print $hiba_uzenet;
}
}
?>
igazából ezt a sort nem értem : if(isset($_POST['submit']))
de nagyjából olyasmire gondoltam, hogy megnézi azt hogy van-e valamilyen elküldött adat és ha van akkor végrehajtja az utasításokat.
próbáltam úgy is, hogy külön oldalon volt a HTML kód és egy másikon a PHP, de így sem ment.
légyszíves segíts !
Kösz!
php meg html :}
eloszor is, nem tudom milyen nyelvekkel van ha van meg tapasztalatod de en dobom el az agyam mikor ilyet latok
hat nem szebb egy kod igy ?
es ezeket a BBCode jeloloket is megnezhetned. sajat erdekedben :)
nah de ha mar ennyit irtam , szoljak hozza a problemadhoz is valamit.
javaslom, hogy az olvasast itt kezd : Változók a PHP-n kívülről , es ne csak ezt az oldalt, hanem a benne levo kapcsolodo linkeket is nezd at.
ezek nagyon fontos dolgok, es ezek ismerete nelkul nem lehet php/html -t megfeleloen hasznalni
sokat segithetnek meg a felhasznaloi megjegyzesek az oldal aljan.
tehat az
ezt ugy vizsgalja meg, hogy a submit mezodnek van egy name="submit" adva, tehat ha elkuldod a formot akkor lesz egy $_POST['submit'] valtozod, aminek az erteke a submit mezo value -ja lesz. a te peldadban ez az "ellenörzés" lenne, ha adtal volna a submit mezonek name attributomot. de nem adtal ergo nem letezett ilyen key a $_POST tombben, tehat az if nem teljesult soha.
meg egy annyit, hogy ha ki akarsz irni valamit akkor az ugy szep, ha nem a <html></html> kodokon kivul teszed meg ezt. ha az a baj, hogy nem szeretsz sok nagy if blockot irni a html koze akkor talan ezt tobb kedved lesz hasznalni
ha meg van kerdesed, tedd fel... bar nem garantalom, hogy nem RTFM lesz a valasz. tekintsd karacsonyi ajandeknak az elobbieket ;)
esetleg ha van időd és kedv
nem, teljes forraskodot soha :}
Hogyan kérdezzünk okosan
ha megfogadot az itt leirt tanacsokat sokkal tobb olyan valaszt fogsz kapni amelyek segitenek is es nem csak elkuldenek googlezni.
Köszönöm a segítséget é
Megoldás
if
-en belül lesz az adattárolásod. Ha pedig az adattárolás sikeres, akkor egyheader("Location: /index.html"); exit;
kiadása átdobja a felhasználót egy másik oldalra. Így ha ott frissíteni fogsz, akkor sem tudod újra elküldeni. Keress rá alocation
kifejezésre a keresőnkben! :)-boogie-
így tényleg nem kell