PHP przekazanie zmiennej pomiędzy stronami generowanymi CASE

0

Witam serdecznie, na wstępie chciałem powiedzieć, że jestem typowym laikiem w temacie. Krótko: mam ze wspólnikiem firmę. Chcieliśmy znaleŹć firmę, która zrobi nam program, ale zostaliśmy wycenieni na dużą kasę , której na starcie nie mamy. Dlatego 300 zł na książki HELIONA i postanowiłem napisać prostszą wersję samemu.

w pliku index.php mam

if(isset($_GET['page'])){
					
                    $_SESSION['page'] = $_GET['page'];
					
                }else{
                    $_SESSION['page'] = "";
                }
                include './strony/case.php';  

case.php to np

@session_start();
 
switch ($_SESSION['page']) {
	case "dostawcy_edit":
        include "./strony/dostawcy_edit.php";
        break; 

i teraz będąc na stronie wywołanej z case -> dostawcy - tutaj mam wywołane dane i chce przy każdym wierszu dać EDIT i wysłać dane do edycji na formularz, ale niestety nie działa

while($row = mysql_fetch_array($wynik))	
		{			
			echo "<tr><td> "; 
			echo $row['nazwa'] . "</td>";
			echo "<td>" . $row['nip'] . "</td>";	
			echo "<td>" . $row['adres'] . "</td>";	
			echo "<td>" . $row['mail'] . "</td>";
			echo "<td>" . $row['konto'] . "</td>";			
			echo "<td>" . $row['mod_id'] . "</td>";
			echo "<td><a href=\"?page=dostawcy_edit\">EDYTUJ</a></td><br>"; <----- działa, ale nie przekazuje ID
			/*echo "<td><a href=\"strony\\dostawcy_edit.php?id={$row['idFirma']}\">EDYTUJ</a></td><br>";	*/ <--- nie działa, błąd 500 się wyswietla		
			echo "</tr>"; 		
		}		
		echo "</table>"; 	
 

Będę wdzięczny jak ktoś mi poradzi co robić

1

Co do problemu, zrób coś w stylu:

echo '<td><a href="?page=dostawcy_edit&amp;id=' . $row['idFirma'] . '">EDYTUJ</a></td><br>';

Moim zdaniem jeśli chcesz zrobić szybko stronę będąc laikiem, zrezygnuj z pisania w czystym PHP. Weź framework, który lepiej i sprawniej realizuje to co chcesz osiągnąć.

0

Dzięki, ale czy możesz opisać mi co tu jest innego, widze w linku zmiany w wywolaniu tego znaczka łączenia. Co do frameworka, chetnie, ale nawet nie wiesz ile mi bólu sprawia czysty PHP, miałem programowanie na studiach 12 lat temu więc na ta chwile framework to dla mnie magia. Dziekuje za podpowiedz, w razie kolejnych problemów bede pisał

0

Łączenie łańcuchów dodałem dla siebie, żeby mieć pewność, że działa - wiem, że PHP pozwala na różne wydziwianie, ale użyłem składni przy której mam większą pewność, że zadziała.

Zmiana polega na tym, że nie odwołuję się bezpośrednio do skryptu "dostawcy_edit.php", jak jest w Twoim zakomentowanym kodzie. Skorzystałem z tego kodu co napisałeś, że działa ale nie przekazuje ID. Ja właściwie tylko do tego dodałem przekazywanie ID (dodatkowy argument dla skryptu index.php). &amp; przeglądarka czyta jako & - ampersand.

0

znowu utknołem, S.O.S , sklejanie łańcuchow w PHP jest dla mnie koszmarem

 
echo "<tr><td>kategoria:</td><td><select name='kategoria' >";  

				 
					$sql_kat = mysql_query("SELECT nazwa from kategorie");
					 
					while($wynik2 = mysql_fetch_assoc($sql_kat))
					{
						echo "<option value ='" . $wynik2['nazwa'] . "'>" . $wynik2['nazwa'] . "</option>";
					}
					 
		echo "</select></td></tr>";	

od wczoraj staram się to ogarnąć, czy są jakieś kanony ,których powinienem się trzymać? Wszędzie różnie podają.

0

http://stackoverflow.com/a/29220129
Jak widać - są różne sposoby i nikt nie wskaże Ci "właściwego". Ważne jest natomiast to, aby trzymać się przyjętych na początku zasad przez cały projekt.

0
Rafał W. napisał(a):

znowu utknołem, S.O.S , sklejanie łańcuchow w PHP jest dla mnie koszmarem

 
echo "<tr><td>kategoria:</td><td><select name='kategoria' >";  

				 
					$sql_kat = mysql_query("SELECT nazwa from kategorie");
					 
					while($wynik2 = mysql_fetch_assoc($sql_kat))
					{
						echo "<option value ='" . $wynik2['nazwa'] . "'>" . $wynik2['nazwa'] . "</option>";
					}
					 
		echo "</select></td></tr>";	

od wczoraj staram się to ogarnąć, czy są jakieś kanony ,których powinienem się trzymać? Wszędzie różnie podają.

To powinno być tak zapisane

echo "<tr><td>kategoria:</td><td><select name='kategoria' >";  

				 
					$sql_kat = mysql_query("SELECT nazwa from kategorie");
					 
					while($wynik2 = mysql_fetch_assoc($sql_kat))
					{
						echo "<option value =" .  $wynik2['nazwa'] . ">" . $wynik2['nazwa'] . "</option>";
					}
					 
		echo "</select></td></tr>";	 

1 użytkowników online, w tym zalogowanych: 0, gości: 1