Mam taki kod: (nawet nie trzeba go czytać, w skrócie powiem że jest to część panelu admina, z formularzami do dodawania/usuwania/edycji działów)
<?php switch($_GET['action']) { case 'dodaj': if($_SERVER['REQUEST_METHOD'] == 'POST'){ $insart = "INSERT INTO tablica VALUES( 'jakie swartosci' )" or die ("<br><b>Nie mogę umieścić danych w tabeli</b>"); }else{ $what="dodaj"; include"./includes/form.php"; } break; case 'usun': if($_SERVER['REQUEST_METHOD'] == 'POST'){ if(!$select){ }else{ $select=$_POST["select"]; $delete = mysql_query("DELETE FROM tablica WHERE id='$select'") or die ("<br>LINIA 113. Siakiś błęd się stoczył.<br>" . mysql_error()); } }else{ $result = mysql_query('select * from tablica') or die("Błąd bazy danych, spróbuj ponownie lub napraw przyczyne błędu!<br>" . mysql_error()); echo "<input type=radio name="select" value=" . $row["id"] . " id=" . $row["id"] . "><label for=".$row["id"].">".$row["title"]."</label><br>n"; } } break; case 'edytuj': $select=$_POST["select"]; if($_SERVER['REQUEST_METHOD'] == 'POST' && $tresc && $temat && $side && $select){ $update = "UPDATE tablica SET title='$temat' WHERE id='$select'"; $update = "UPDATE tablica SET content='$tresc' WHERE id='$select'"; $update = "UPDATE tablica SET side='$side' WHERE id='$select'"; $update = "UPDATE talica SET menutext='$temat' WHERE id='$select'"; } elseif($_SERVER['REQUEST_METHOD'] == 'POST' && $select){ $id=$select; $result = mysql_query("select * from tablica WHERE id='$id'") or die("LINIA 167. Błąd bazy danych, spróbuj ponownie lub napraw przyczyne błędu!<br>" . mysql_error()); $insert=$row["content"]; $insertitle=$row["title"]; $sidecheck=$row["side"]; $what="edytuj"; include"./includes/form.php"; } else{ $result = mysql_query('select * from tablica') or die(" Błąd bazy danych, spróbuj ponownie lub napraw przyczyne błędu!<br>" . mysql_error()); echo "<input type=radio name="select" value=" . $row["id"] . " id=" . $row["id"] . "><label for=".$row["id"].">".$row["title"]."</label><br>n"; } } break; case 'menusy': break; default: $id = $_GET["id"]; if($id && $_GET["action"] == "cms"){ } mysql_free_result($result) or die("Błąd bazy danych, spróbuj ponownie lub napraw przyczyne błędu!<br>" . mysql_error()); }else{ $result = mysql_query("SELECT * FROM tablica ORDER BY ID") or die("LINIA 135. Błąd bazy danych, spróbuj ponownie lub napraw przyczyne błędu!<br>" . mysql_error()); } break; } ?>
A więc o co chodzi? Jeśli jest on "na czysto" w kodzie wszystko działa, ale jeśli zamkne go w funkcji, a w kodzie dołożę jej wywołanie, to zmienne POST nie są przekazywane (dostaje zdefiniowane komunikaty typu "wybierz jakiś dział!").
Co na to mogę poradzić? Jeśli nic, to czy jest jakaś inna metoda wywołania tego, tak żeby w kodzie była jedna, bądź kilka linijek, jak w przypadku wywołania funkcji?