ugrás a tartalomhoz

form action feltételekkel

Anonymous · 2006. Jún. 21. (Sze), 20.03
A problémám a következő:

Hogyan lehet azt megcsinálni, hogy egy PHP-s form actionja csak bizonyos feltételek mellett hajtódjon végre, vagyis ugorjon tovább a következő PHP-re.

javascriptet nem szeretnék, hanem inkább php-ből megoldani, ha lehet:

Példa: (ilyesmivel próbálkoztam...)

form action"<?php
if ($_POST['valami'] = valami)
{
valami.php
}
else {
print $PHP_SELF
}
?>"

Persze ez nem nagyon működött...
Köszönöm előre is a segítséget
 
1

Kiiratás

Anonymous · 2006. Jún. 21. (Sze), 20.33
Nem ártana pl. a valami.php szöveget is kiiratni, nem csak úgy odatenni
2

include

breakline · 2006. Jún. 22. (Cs), 00.52
Szia

Használhatsz include-ot is, vagy függvényeket, én az utóbbit preferálom.

<?php
if (isset($_POST['valami'])) {
show_form_check($_POST['valami']);
}
else {
show_error();
}
?>
Vagy hasonló
3

persze hogy nem működött

Anonymous · 2006. Jún. 22. (Cs), 08.38
Ezt írtad:
 
<?php
if($_POST['valami'] = valami) 
?>
Az egyenlőség feltételét nem így vizsgáljuk hanem 2 egyenlőség jellel! De persze azt előttem írottakat is lehet alkalmazni vagyis megnézed hogy létezik e. ISSET Aztán pedíg eldönteni pontosan mit szeretnél. Ha nincs változó akkor maradjon ugyanott vagy hibát írjon ki. Ha van változó akkor gondolom végre kéne hajtódnia... és ezeket feltételhez kötni
4

Mégsem működik!!!

Anonymous · 2006. Jún. 27. (K), 22.38
form action"
<?php
if($_POST['valami'] == valami) {
echo "feldolgozo.php";
}
else {
print $PHP_SELF; //Akkor sem jó, ha ez a sor: echo "jelenlegi_oldal.php"
} ?> "

A fentebbi kód nem működik!

Az összes tanácsot megfogadtam, de nem akar összejönni!

Lehet, hogy ez a módszer nem jó?
5

else

_jan_ · 2006. Jún. 28. (Sze), 00.19
Használd inkább a
$_SERVER['PHP_SELF']

alakot.
6

Vagy..

vbence · 2006. Jún. 28. (Sze), 00.25
Az if első része jól fut le? Ha teljesen-teljesen biztos akarsz lenni, ahsználd a $GLOBALS["_SERVER"]["PHP_SELF"] formát :)
7

talán így

krey · 2006. Jún. 28. (Sze), 01.55
Ha a form postot használ, amit feltételezek, akkor én ilyen esetben az actiont gettel adnám meg.

<form action="<?
define("valami","valami"); /* ez a sor azért van, mert a következőben nincs idézőjel */
if ($_GET["action"] == valami)
 echo "valami.php";
?>" method="post">
üdv. krey

ps. ne felejtsd el a valami constanst definiálni :-)