![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 6.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam, chcę stworzyć na stronie możliwość dodawania danych do bazy za pomocą formularza wyboru. Stworzyłem formularz z kolorami i rodzajem paliwa, kolory są pobierane z jeden z tabeli, a paliwo przypisane. Problem zaczyna się gdy chcę zapisać dane do bazy. Przy małej walidacji pól, wyskakuje komunikat uzupełnij wszystkie pola, a po usunięciu walidacji komunikat poprawnego dodania do bazy. Bardzo proszę was o pomoc.
Kod <?php require_once 'config.php'; $Kolor = $_POST['Kolor']; $Paliwo =$_POST['Paliwo']; $query = "SELECT id FROM users order by id desc limit 1"; $result = mysql_query($query); $id = mysql_fetch_assoc($result); $id = $id['id'] + 1; $dodanie = "INSERT INTO ogloszenie (Id,Kolor,Paliwo) VALUES ('$Id','$Kolor','$Paliwo')"; mysql_query($dodanie); echo "Ogłoszenie zostało dodane!"; ?> Formularz Kod <form action="auto_zapisz.php" method="post"> <br><b><font size=2>Kolor:</font></b><br /> <br> <?php $query="SELECT Kolor FROM Kolor ORDER BY Kolor ASC"; $result = mysql_query ($query); echo "<select name='Kolor'>"; "<option value=''>Kolor</option>"; while($nt=mysql_fetch_array($result)) { echo "<option value=$nt[Kolor]>$nt[Kolor]</option>"; } echo "</select>"; <font size=2><label for="subject">Rodzaj paliwa: </label></font><select name="subject" id="paliwo"> <option value="null">wybierz</option> <option value="Benzyna">Benzyna</option> <option value="Diesel">Diesel</option> </select> ?> <input type="submit" value="Zapisz" /><br /> </form> Baza: Id int(4) Kolor Varchar (20) Paliwo Varchar(10) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
1. Poczytaj o sql injection
2. Ustaw pole Id jako autoincrement (automatycznie zwiększa id o jeden przy dodawaniu wierszy) 3. Nazwy (name="") elementów formularza nie pasują do tych odbieranych w pliku php($_POST[]) Ten post edytował CuteOne 12.11.2012, 23:59:41 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 6.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Kod <form action="auto_zapisz.php" method="post"> <br><b><font size=2>Kolor:</font></b><br /> <br> <?php $query="SELECT Kolor FROM Kolor ORDER BY Kolor ASC"; $result = mysql_query ($query); echo "<select name='Kolor'><option value=''>Kolor</option>"; while($nt=mysql_fetch_array($result)) { echo "<option value='$nt[Kolor]'>$nt[Kolor]</option>"; } echo "</select>"; <font size=2><label for="subject">Rodzaj paliwa: </label></font><select name="Paliwo"> <option value="null">wybierz</option> <option value="Benzyna">Benzyna</option> <option value="Diesel">Diesel</option> </select> ?> <input type="submit" value="Zapisz" /><br /> </form> Niestety dalej nie działa, próbowałem również wykluczać jedno albo drugie. Dzieje się tak tylko z tymi polami. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 17:49 |