Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: switch i $_POST
Forum PHP.pl > Forum > PHP
_scorpio__
Mam takie pytanie czy da sie wywolac guzikiem na formie z post instrukcie swith

[php:1:f3efa68fe3]
<FORM ACTION="admin.php?zmienna=1" METHOD="POST">
<input TYPE="submit" NAME="Przekieruj" VALUE="Przekieruj">
</form>
<?php
switch( $_POST['zmienna'] )
{
case 1:
jakies_tam_instrukcje();
break;
case 2:
jakies_tam_inne_instrukcje();
break;
//ew default: costam(); break;
}

?>[/php:1:f3efa68fe3]

To jest tylko przyklad jak by to mialo wygladac bo nie mam pojecia czy to wogole da sie zrobic i jak to powiazac przy pomocy POST bardzo bym prosil o podpowiedz

[KaMeLeOn]: Proszę sprawdzać przyciskiem podgląd czy BBcode zostało prawidłowo użyte...
KaMeLeOn
Tak. Ale w tym przypadku:
[php:1:2118dc1921]<?php
switch($_GET['zmienna'])
{
// kod...
}
?>[/php:1:2118dc1921]
_scorpio__
A nie da sie zrobic jakos tego przy urzyciu $_POST questionmark.gif
KaMeLeOn
Kod
<FORM ACTION="admin.php" METHOD="POST">

<input TYPE="submit" NAME="Przekieruj" VALUE="Przekieruj">

<input type="hidden" name="zmienna" value="1">

</form>
_scorpio__
[php:1:4a74db6a39]
<FORM ACTION="admin.php?show=forward?zmienna=1" METHOD="POST">
<input TYPE="submit" NAME="Przekieruj" VALUE="Przekieruj">
<input type="hidden" name="zmienna" value="1">
</form>
<?
switch( $_POST['zmienna'] )
{
case 1:
exec("reboot");
break;
}
?>
[/php:1:4a74db6a39]

Jesli to ma wygladac tak to mi to nie dziala
KaMeLeOn
Cytat
Kod
<FORM ACTION="admin.php?show=forward?zmienna=1" METHOD="POST">

A po co te zmienne w URL'u? Zdecyduj się. Albo URL ($_GET) albo HIDDEN ($_POST). Albo jedno i drugie, czyli mieszane...
Poza tym adres URL jest źle zapisany...
_scorpio__
zamieszcze tu caly kod moze znajdziecie jakies bledy
A zmienne te sa dla tego iz ta strona ponizej jest jedna z podstron ktora jest ladowana do stroy admin.php. a link do tej strony to admin.php?show=forward a to musi byc teraz pytanie jak do tego dac zeby sie wykonywal swith
[php:1:e005be1e41]
html>

<head>
<title>..:: Panel Administracyjny Systemem Linux ::..</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body TEXT="#000000" LINK="#0000ff" VLINK="#800080" BGCOLOR="#d0d8e8" aLink="red">
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
<strong>

<p ALIGN="CENTER">..:: Sterowanie Firewallem i Przekieorwaniem ::..</p>
</strong>

<hr>

<FORM ACTION="admin.php?show=forward" METHOD="POST">

<form>

<table align="center" CELLSPACING="0" BORDER="0" CELLPADDING="3" WIDTH="620">
<tr>
<td WIDTH="13%" VALIGN="MIDDLE" HEIGHT="21"><strong>Przekierowanie:</strong></td>
<td WIDTH="11%" VALIGN="MIDDLE" HEIGHT="21"></td>
<td WIDTH="9%" VALIGN="MIDDLE" HEIGHT="21"></td>
<td WIDTH="67%" VALIGN="MIDDLE" HEIGHT="21"></td>
</tr>
<tr>
<td WIDTH="13%" VALIGN="MIDDLE" HEIGHT="17"></td>
<td WIDTH="11%" VALIGN="MIDDLE" HEIGHT="17"></td>
<td WIDTH="9%" VALIGN="MIDDLE" HEIGHT="17"></td>
<td WIDTH="67%" VALIGN="MIDDLE" HEIGHT="17"></td>
</tr>
<tr>
<td WIDTH="13%" VALIGN="MIDDLE" HEIGHT="21"><strong>Ip</strong></td>
<td WIDTH="11%" VALIGN="MIDDLE" HEIGHT="21"><strong>Port</strong></td>
<td WIDTH="9%" VALIGN="MIDDLE" HEIGHT="21"><strong>Protokol</strong></td>
<td WIDTH="67%" VALIGN="MIDDLE" HEIGHT="21"></td>
</tr>
<tr>
<td WIDTH="13%" VALIGN="MIDDLE" HEIGHT="26"><select NAME="sdi" SIZE="1">
<option VALUE="213.76.xxx.xxx">213.76.xxx.xxx</option>
</select> </td>
<td WIDTH="11%" VALIGN="MIDDLE" HEIGHT="26"><input TYPE="TEXT" NAME="portsdi" SIZE="11"> </td>
<td WIDTH="9%" VALIGN="MIDDLE" HEIGHT="26"><select NAME="protokol" SIZE="1">
<option VALUE="TCP">TCP</option>
<option VALUE="UDP">UDP</option>
<option VALUE="ICMP">ICMP</option>
</select> </td>
<td WIDTH="67%" VALIGN="MIDDLE" HEIGHT="26"><strong><select NAME="dodaj_usun" SIZE="1">
<option VALUE="-A">Dodaj Przekierowanie</option>
<option VALUE="-D">Usun Przekierowanie</option>
</select> </strong></td>
</tr>
<tr>
<td WIDTH="13%" VALIGN="MIDDLE" HEIGHT="21"></td>
<td WIDTH="11%" VALIGN="MIDDLE" HEIGHT="21"></td>
<td WIDTH="9%" VALIGN="MIDDLE" HEIGHT="21"></td>
<td WIDTH="67%" VALIGN="MIDDLE" HEIGHT="21"></td>
</tr>
<tr>
<td WIDTH="13%" VALIGN="MIDDLE" HEIGHT="21"></td>
<td WIDTH="11%" VALIGN="MIDDLE" HEIGHT="21"></td>
<td WIDTH="9%" VALIGN="MIDDLE" HEIGHT="21"></td>
<td WIDTH="67%" VALIGN="MIDDLE" HEIGHT="21"></td>
</tr>
<tr>
<td WIDTH="13%" VALIGN="MIDDLE" HEIGHT="26"><select NAME="eth0" SIZE="1">
<option VALUE="192.168.0.1">192.168.0.1</option>
<option VALUE="192.168.0.2">192.168.0.2</option>
<option VALUE="192.168.0.3">192.168.0.3</option>
<option VALUE="192.168.0.4">192.168.0.4</option>
<option VALUE="192.168.0.5">192.168.0.5</option>
<option VALUE="192.168.0.6">192.168.0.6</option>
<option VALUE="192.168.0.7">192.168.0.7</option>
</select> </td>
<td WIDTH="11%" VALIGN="MIDDLE" HEIGHT="26"><input TYPE="TEXT" NAME="portlan" SIZE="11"> </td>
<td WIDTH="9%" VALIGN="MIDDLE" HEIGHT="26"></td>
<td WIDTH="67%" VALIGN="MIDDLE" HEIGHT="26">
<FORM ACTION="admin.php?zmienna=1" METHOD="POST">
<input TYPE="submit" NAME="Przekieruj" VALUE="Przekieruj">
<input type="hidden" name="zmienna" value="1">
</form>
</form>
</tr>
</table>
</form>
<hr>

<table align="center" border="0" width="45%" height="50" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" height="25"><p align="center"><b>Status Przekierowan</td>
</tr>
<tr>
<td width="100%" height="25"><?
exec("/bin/sh wynikforward");
include("wynikforward.php"); ?>
</td>
</tr>
</table>
</html>
<?
switch( $_POST['zmienna'] )
{
case 1:
exec("iptables -t nat ".$_POST['dodaj_usun']." PREROUTING -j DNAT -p ".$_POST['protokol']." --dport ".$_POST['portsdi']." -d ".$_POST['sdi']." --to ".$_POST['eth0'].":".$_POST['portlan']."");
echo "iptables -t nat ".$_POST['dodaj_usun']." PREROUTING -j DNAT -p ".$_POST['protokol']." --dport ".$_POST['portsdi']." -d ".$_POST['sdi']." --to ".$_POST['eth0'].":".$_POST['portlan'];
break;
}


?>
[/php:1:e005be1e41]
KaMeLeOn
Hmm... A o który formularz chodzi?

Może tak:
Kod
<FORM ACTION="admin.php?zmienna=1" METHOD="POST">

W tym przypadku "zmienna" jest przesyłana w URL'u, czyli znajduje się w tablicy $_GET[].
Reszta zmiennych (czyli inputy, selecty, etc...) są przesyłane jako POST, czyli znajdują się w tablicy $_POST[], ponieważ określiłeś method="POST".

Spróbuj sam pokombinować bo chyba trochę miesza Ci się co jak jest przesyłane... Zastanów się jak zmienna ma być przesyłana i odbieraj ją z odpowiedniej tablicy.
_scorpio__
eh nie rozumiemy sie kameleon 5957964 to moje gg jak bys mogl odezwij sie do mie to ci pokaze o co mi chodzi poprostu nie chce tu tego adresu dawac na cale forum
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.