dopiero od niedawna piszę w PHP. Aktualnie robię małą bazę dotyczącą delegacji. Użytkownik może dodawać własne, administrator może je edytować i usuwać. Wszystko szło dobrze, aż napotkałam taki dziwny problem - w zapytaniu do bazy nie czyta mi zmiennej z $_GET, chociaż w drugim zapytaniu (które wykonywane jest przed tym niedziałającym) czyta wszystko.
Zapytanie działa, ponieważ sprawdzane było poprzez podmienienie zmiennej na zwykłą liczbę, poza tym wykonuje się i zwraca TRUE. Próbowałam zmieniać zmienną poprzez wywołanie na nowo $_GET(), zmienianie formatu i różne inne dziwne rzeczy (szukałam po forach i internecie). No po prostu NIE DZIAŁA. jak wstawię normalną wartość np. 4 to działa, przy czym pierwsze zapytanie działa normalnie z $id1 = $_GET('id').
Poniżej oba pliki - przesłanie id oraz ten odczyt i edycja formularza. Proszę o pomoc w rozwiązaniu tego, bo pewnie rozwiązanie jest banalne lecz ja go nie dostrzegam.
<!DOCTYPE html> <html> <head> <title>DELEGACJE</title> </head> <body> <?php include 'bd.php'; ?> <center> <!-- Wczytanie zmiennej id--> <form action="edytowanie1.php" method="get"> ID: <br><input type="number_format" name="id"><br><br> <input type="submit" value="Zatwierdz"> </form> <a href="http://localhost/php1/weryfikacja.php"><br>Powrot</a> </center> </body> </html>
<!DOCTYPE html> <html> <head> <title>DELEGACJE</title> </head> <body> <?php include 'bd.php'; $id1 = $_GET['id']; //Wczytanie zmiennej id z pliku edytowanie.php $sql = mysql_fetch_array(mysql_query("SELECT * FROM spotkanie WHERE id='$id1';"))//pobranie danych z bazy dla danego id; ?> <!-- Formularz do zmiany danych (automatycznie uzupełniony aktalnymi danymi) --> <center> <form action="edytowanie1.php" method="post"> telefon:<br><input type="number_format" value = "<?php echo $sql['telefon'] ?>" name="telefon"><br><br> cel delegacji:<br><input type="text" value = "<?php echo $sql['cel_delegacji'] ?>" name="cel_delegacji"><br><br> transport:<br><input type="text" value = "<?php echo $sql['transport'] ?>" name="transport"><br><br> czas trwania(rrrr-mm-dd:rrrr-mm-dd):<br><input type="date_format" value = "<?php echo $sql['czas_trwania_delegacji'] ?>" name="czas_trwania_delegacji"><br><br> krajowa/zagraniczna:<br><input type="text" value = "<?php echo $sql['krajowa_czy_zagraniczna'] ?>" name="krajowa_czy_zagraniczna"><br><br> <input type="submit" value="edytuj"> </form> <?php // odbieramy dane z formularza $imie = $_POST['imie']; $nazwisko = $_POST['nazwisko']; $miejsce = $_POST['miejsce']; $data = $_POST['data']; $telefon = $_POST['telefon']; $opis = $_POST['opis']; $cel_delegacji = $_POST['cel_delegacji']; $transport = $_POST['transport']; $czas_trwania_delegacji = $_POST['czas_trwania_delegacji']; $krajowa_czy_zagraniczna = $_POST['krajowa_czy_zagraniczna']; //warunek do wykonania zapytania if ($imie or $nazwisko or $miejsce or $data or $telefon or $cel_delegacji or $transport or $czas_trwania_delegacji or $krajowa_czy_zagraniczna){ $wynik = mysql_query("UPDATE spotkanie SET imie='$imie', nazwisko='$nazwisko', miejsce='$miejsce', data='$data', telefon='$telefon', opis='$opis', cel_delegacji='$cel_delegacji', transport='$transport', czas_trwania_delegacji='$czas_trwania_delegacji',krajowa_czy_zagraniczna='$krajowa_czy_zagraniczna' WHERE id = '$id1';"); } ?> <a href="http://localhost/php1/edytowanie.php"><br>Powrot</a> <a href="http://localhost/php1/weryfikacja.php"><br>Powrot do delegacji</a> </center> </body> </html>
bd.php to połączenie z bazą
Nie działa mi $id1 w zapytaniu
$wynik = mysql_query("UPDATE spotkanie SET imie='$imie', nazwisko='$nazwisko', miejsce='$miejsce', data='$data', telefon='$telefon', opis='$opis', cel_delegacji='$cel_delegacji', transport='$transport', czas_trwania_delegacji='$czas_trwania_delegacji',krajowa_czy_zagraniczna='$krajowa_czy_zagraniczna' WHERE id = '$id1';");
dokładnie w warunku
WHERE id = '$id1'