Witam
Napisałem bardzo proste skrypty w PHP operujące na bazie danych MySql. Problem :S jest w tym, że skrypty działają dobrze na lokalnej maszynie, tzn. na moim komputerze-serwerze w domu (bez dostepu do netu) jest ok. Natomiast te same skrypty na serwerze zdalnym już nie działają.
Problem tkwi w tym, że zmienna nie jest przekazywana do innego skryptu php. Zmienną przekazuję za pomocą łącza.
Skrypt "show_data.php" generuje link
http://robert/delete_data.php?klient_id=1
Kiedy wejdzie się przez ten link. Zmienna "klient_id" w skrypcie "delete_data.php" powinna się ustawić na wartość "1" tak jak to pokazuje link w przeglądarce. Niestety, kiedy odczytuje tą zmienną w skrypcie delete_data.php to ma ona wartość "0".
Na lokalnym serwerze u mnie w domu ta zmienna ustawia się prawidłowo na odpowiednią wartość (dla danego wiersza tablicy klient z mojej bazy mysql).
Dlaczego tak się dzieje? Czy to wina źle skonfigurowanego serwera (gdyż skrypty lokalnie działają)?
Zastanawiam się czy może poniższy wiersz ma znaczenie jeśli pracuje się na zdalnym serwerze. Podawałem pełną ścieżkę dostępu do pliku show_data.php lecz to też nie pomogło. Kiedy pracuje lokalnie wrzucam pliki do /var/usr/www/ (chyba taka ścieżka). Zaś na zdalnym serwerze wrzucam do /home/robert/public_html/ . Może właśnie w tym wierszu tkwi problem, o którym piszę.
print(" Powrot do przegladania danych ");
Dołączam niżej skrypty:
show_data.php
-------------------------
Wyswietlenie danych z bazy
Obsluga klienta
Dodaj
Lista klientow
$db = mysql_connect("localhost", "root");
mysql_select_db("gaussnet", $db);
$sql = "SELECT * from klient";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
$nr_klienta = $row["klient_id"];
printf("
Nr = %d, Nazwisko = %s, Imie = %s
", $nr_klienta, $row["nazwisko"], $row["imie"]);
print("
Usun ");
}
?>
delete_data.php
-----------------------
Kasowanie danych z bazy
printf("klient_id = %dn", $klient_id);
$db = mysql_connect("localhost", "root");
mysql_select_db("gaussnet", $db);
$sql = "DELETE from klient where klient_id='$klient_id'";
mysql_query($sql);
print("nDane zostaly usuniete.n");
print("
Powrot do przegladania danych ");
?>
Pozdrawiam