Zrobiłem taki skrypt do edycji wartości 2 pól w bazie danych (tabela `mp3`).
edytuj.php:
Tutaj wprowadzam nowe wartości
<?php include("config.php"); $id = $_GET['n']; $zapytanie = "SELECT `id`,`nazwa`,`link`,`data`,`ip` FROM `mp3` WHERE `id`='$id'"; echo "<form method=post action=edit.php?m=$t[0]> <table> <tr class=tlo-b><td>Nazwa:</td> <td><input maxlenght=32 type=text name=nazwa></td></tr> <tr class=tlo-b><td>Link:</td> <td><input maxlenght=32 type=text name=link value=$t[2]></td></tr> <tr><td colspan=2 align=center><input id=inputsubmit1 type=submit name=inputsubmit1 value=Zatwierdź /></td></tr> </table></form>"; }; ?>
edit.php:
Tutaj potwierdzenie
$id = $_GET['m']; $nazwa = $_POST['nazwa']; $link = $_POST['link']; $zapytanie = "SELECT `id`,`nazwa`,`link`,`data`,`ip` FROM `mp3` WHERE `id`='$id'"; };
edit2.php:
Tutaj skrypt updatujący wartości
$id = $_GET['id']; $nazwa = $_GET['n']; $link = $_GET['l']; $zapytanie = "UPDATE mp3 SET nazwa='$nazwa',link='$link' WHERE id='$id'";
Problem w tym, że w edit.php adres do odsyłacza "tak" powinien być:
edit2.php?id=$id&n=$nazwa&l=$link
lecz gdy zmienna $n posiada 2 wyrazy to wczytuje się tylko pierwszy wyraz do spacji, $l już się nie pokazuje.
Przykład:
jako nazwę wpisuję "jeden dwa" i jakiś link.
z edytuj.php do edit.php zmienna jest poprawnie przekazana, lecz odsyłacz "Tak" wygląda następująco:
/edit2.php?id=X&n=Jeden
Co zrobić, aby to działało poprawnie?
Proszę o pomoc.
Pozdrawiam!