Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Problem z dodaniem nowego rekordu
Turech
post 3.12.2014, 23:27:34
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.12.2014

Ostrzeżenie: (0%)
-----


Witam.
Jestem trochę zielony w php, aczkolwiek jakieś tam podstawy znam. Jednakże podczas pisania strony projektu na zaliczenie napotkałem się na pewien bardzo uciążliwy błąd, mianowicie skrypt, który napisałem (prawdopodobnie jest źle zrobiony) nie dodaje rekordów do mysql, a takie ma zadanie. Ogólnie cała koncepcja polega na tym, że mam parę tabel i za pomocą <select> wybieram tabele, do której ma być dodany nowy rekord (dynamiczne divy + formularze). Serwer nie pokazuje żadnych błędów (prócz "undefind index"). Proszę o pomoc, bo ja już nie mam siły :<
  1. <div>
  2. <form action="" method="post">
  3. <select name="kategorie" action="value">
  4. <option value="">Wybierz kategorie</option>
  5. <option value="karty_graficzne">Karty graficzne</option>
  6. <option value="nosniki_danych">Nośniki danych</option>
  7. <option value="procesory">Procesory</option>
  8. <option value="pamiec_ram">Pamięć RAM</option>
  9. <option value="plyty_glowne">Płyty główne</option>
  10. <option value="laptopy">Laptopy</option>
  11. </select>
  12. <input type="submit" name="akcept" value="Akceptuj">
  13. </form>
  14. </div>
  15. <div id="new">
  16. <?php
  17. $serwer = 'localhost';
  18. $login = '******';
  19. $haslo = '******';
  20. $baza = '******';
  21. $kategorie=$_POST['kategorie'];
  22. if(isset($kategorie))
  23. {
  24. if (@mysql_connect($serwer, $login, $haslo) && @mysql_select_db($baza))
  25. {
  26. $zawartosc = @mysql_query("SELECT * FROM $kategorie") or die("Błąd w zapytaniu!");
  27. switch($kategorie)
  28. {
  29. case "karty_graficzne":
  30. echo "<form action=\"\" method=\"post\">
  31. <label for=\"kg1\">Układ graficzny</label><input type=\"text\" value=\"\" name=\"kg1\"><br />
  32. <label for=\"kg2\">Nazwa</label><input type=\"text\" value=\"\" name=\"kg2\"><br />
  33. <label for=\"kg3\">Producent</label><input type=\"text\" value=\"\" name=\"kg3\"><br />
  34. <label for=\"kg4\">Rodzaj pamięci</label><input type=\"text\" value=\"\" name=\"kg4\"><br />
  35. <label for=\"kg5\">Pamięć</label><input type=\"text\" value=\"\" name=\"kg5\"><br />
  36. <label for=\"kg6\">Taktowanie pamięci</label><input type=\"text\" value=\"\" name=\"kg6\"><br />
  37. <label for=\"kg7\">Szyna pamięci</label><input type=\"text\" value=\"\" name=\"kg7\"><br />
  38. <label for=\"kg8\">Taktowanie rdzenia</label><input type=\"text\" value=\"\" name=\"kg8\"><br />
  39. <label for=\"kg9\">Cena</label><input type=\"text\" value=\"\" name=\"kg9\"><br />
  40. <input type=\"submit\" value=\"Wyślij\" name=\"dodaj\">
  41. </form>";
  42. $kg1=$_POST["kg1"]; $kg2=$_POST["kg2"]; $kg3=$_POST["kg3"]; $kg4=$_POST["kg4"]; $kg5=$_POST["kg5"];
  43. $kg6=$_POST["kg6"]; $kg7=$_POST["kg7"]; $kg8=$_POST["kg8"]; $kg9=$_POST["kg9"];
  44. if(isset($_POST["dodaj"]))
  45. {
  46. $dodaj = @mysql_query("INSERT INTO karty_graficzne (`ID`, `uklad_graficzny`, `nazwa`
  47. ,`producent` ,`rodzaj_pamieci` ,`pamiec` ,`taktowanie_pamieci` ,`szyna_pamieci`,`taktowanie_rdzenia`,`cena`)
  48. VALUES ('','$kg1','$kg2','$kg3','$kg4','$kg5','$kg6','$kg7','$kg8','$kg9')");
  49. }
  50. break;
  51. }
  52. }
  53. }
  54. ?>

PS. Proszę nie krytykować za bardzo za jakieś nie estetyczne formy, czy coś tego rodzaju, nie jest to środowisko, w którym się na co dzień poruszam. Z góry dziękuję za każda pomoc wink.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Turech
post 4.12.2014, 19:30:06
Post #2





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.12.2014

Ostrzeżenie: (0%)
-----


Okej, wszystkie @ usunięte, warning $kategorie już nie występuje (trywialny błąd). Domyślałem się właśnie, że skrypt nie czyta żadnych zmiennych z formularza, tylko nie mam pomysłu jak zrobić, żeby to działało.

Wprowadziłem lekkie poprawki:

  1. nowy.php
  2. <?php
  3. if(isset($_POST['kategorie']))
  4. {
  5. $kategorie=$_POST['kategorie'];
  6. switch($kategorie)
  7. {
  8. case "karty_graficzne":
  9. ?>
  10. <form action="nowyfunkcja.php" method="post">
  11. <label for="kg1">Układ graficzny</label><input type="text" value="" name="kg1"><br />
  12. <label for="kg2">Nazwa</label><input type="text" value="" name="kg2"><br />
  13. <label for="kg3">Producent</label><input type="text" value="" name="kg3"><br />
  14. <label for="kg4">Rodzaj pamięci</label><input type="text" value="" name="kg4"><br />
  15. <label for="kg5">Pamięć</label><input type="text" value="" name="kg5"><br />
  16. <label for="kg6">Taktowanie pamięci</label><input type="text" value="" name="kg6"><br />
  17. <label for="kg7">Szyna pamięci</label><input type="text" value="" name="kg7"><br />
  18. <label for="kg8">Taktowanie rdzenia</label><input type="text" value="" name="kg8"><br />
  19. <label for="kg9">Cena</label><input type="text" value="" name="kg9"><br />
  20. <input type="submit" value="Wyslij_1" name="dodaj"><br />
  21. </form>
  22. <?php ... dalsze opjce


  1. nowyfunkcja.php
  2. <?php
  3. $switch=$_POST['dodaj'];
  4. include('config.php');
  5. switch($switch)
  6. {
  7. case 'Wyslij_1':
  8. if(!empty($_POST['kg1']) && !empty($_POST['kg2']) && !empty($_POST['kg3']) && !empty($_POST['kg4']) && !empty($_POST['kg5']) && !empty($_POST['kg6']) && !empty($_POST['kg7']) && !empty($_POST['kg8']) && !empty($_POST['kg9']))
  9. {
  10. $kg1=$_POST['kg1']; $kg2=$_POST['kg2']; $kg3=$_POST['kg3']; $kg4=$_POST['kg4']; $kg5=$_POST['kg5']; $kg6=$_POST['kg6']; $kg7=$_POST['kg7']; $kg8=$_POST['kg8']; $kg9=$_POST['kg9'];
  11. $dodaj = mysql_query("INSERT INTO karty_graficzne (`id`, `uklad_graficzny`, `nazwa`,`producent`,`rodzaj_pamieci`,`pamiec`,`taktowanie_pamieci`,`szyna_pamiec
    i`,`taktowanie_rdzenia`,`cena`) VALUES ('','$kg1','$kg2','$kg3','$kg4','$kg5','$kg6','$kg7','$kg8','$kg9')"
    ) or die(mysql_error());
  12. echo '<meta http-equiv="refresh" content="1; URL=nowy.php">';
  13. }
  14. else
  15. echo "Error";
  16. break;
  17. }
  18. }
  19. ?>


Skrypt działa w pełni, jednakże wykonanie jego jest tragiczne. Jak ktoś ma pomysł jak jakoś estetyczniej to rozwiązać to może śmiało pisać biggrin.gif
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 19:32