Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Dodanie rekordu do bazy (problem)
Forum PHP.pl > Forum > Przedszkole
szokmen
Witam,
właśnie zacząłem uczyć się PHP i mam pewien problem. Przekopałem już google i znalazłem wiele przykładów ale żaden nie bardzo chciał działać w ostateczności doszedłem do takiego kodu (pisałem go 4 rano wiec przepraszam za wszelkie wpadki biggrin.gif) Nie wiem co jest nie tak proszę o sprawdzenie.
To jest formularz:
  1. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
  2. <title>Moja strona</title>
  3. </head>
  4.  
  5. <form action="formularz.php" method="post">
  6. <p align="right">
  7. <input type ="hidden" name="wybor" value="dodaj">
  8. id klienta:<input type ="text" name="id"><br />
  9. imie:<input type ="text" name="imie"><br />
  10. nazwisko:<input type ="text" name="nazwisko"><br />
  11. nazwa firmy:<input type ="text" name="nazwa_firmy"><br />
  12. telefon:<input type ="text" name="telefon"><br />
  13. <input type ="submit" value="dodaj">
  14. </p>
  15. </form>

To jest mój kod PHP:
  1. <?php
  2. mysql_connect("localhost", "aaaaa", "bbbbb") or die ("Nie można połączyć się z bazą");
  3. mysql_select_db ("firma") or die ("Nie można połączyć się z bazą firma");
  4.  
  5. if(isset($_POST["wybor"])== 'dodaj')
  6. {
  7. $imie1=$_POST['imie'];
  8. $nazwisko1=$_POST['nazwisko'];
  9. $nazwa1=$_POST['nazwa_firmy'];
  10. $telefon1=$_POST['telefon'];
  11. $ins =mysql_query("insert into Klienci (Imie, Nazwisko, Nazwa_firmy, Telefon) values ('$imie1','$nazwisko1', '$nazwa1','$telefon1';)");
  12. }
  13. ?>
  14.  
  15.  

nospor
Zastosuj się proszę do podanych tu porad:
Temat: Jak poprawnie zada pytanie
a zobaczysz być może parę dodatkowych błędów, które pomogę Tobie/nam w rozwiązaniu tego problemu.
gigzorr
  1. $ins =mysql_query("insert into Klienci (Imie, Nazwisko, Nazwa_firmy, Telefon) values ('$imie1','$nazwisko1', '$nazwa1','$telefon1';)");


$imie 1 $nazwisko 1 i tak dalej a skąd te 1?
nospor
@gigzor.... nie nabijaj postów....
$imie1=$_POST['imie'];
itd.

ps:
nie: if(isset($_POST["wybor"])== 'dodaj')
a: if(isset($_POST["wybor"]))

isset() nie zwraca tekstu tylko BOOL
szokmen
Ok już dodaje mi do bazy ale teraz mam inny kłopot biggrin.gif a mianowicie w kodzie mam formularz który powinien wyświetlić dane osoby o imieniu jakie wpiszemy w formularz i ten formularz dział tylko jak klikam szukaj imienia to wyświetlają mi się dane osoby i takie komunikaty
Notice: Undefined index: imie in G:\wamp\www\formularz.php on line 27

Notice: Undefined index: nazwisko in G:\wamp\www\formularz.php on line 28

Notice: Undefined index: nazwa_firmy in G:\wamp\www\formularz.php on line 29

Notice: Undefined index: telefon in G:\wamp\www\formularz.php on line 30

KOD
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
  4. <title>Moja strona</title>
  5. </head>
  6. <body>
  7.  
  8. <form action="formularz.php" method="post">
  9. <p align="right">
  10. <input type ="hidden" name="wybor" value="dodaj">
  11. <table>
  12. id klienta:<input type ="text" name="id"><br />
  13. imie:<input type ="text" name="imie"><br />
  14. nazwisko:<input type ="text" name="nazwisko"><br />
  15. nazwa firmy:<input type ="text" name="nazwa_firmy"><br />
  16. telefon:<input type ="text" name="telefon"><br />
  17. <input type ="submit" value="dodaj">
  18. </table>
  19. </p>
  20. </form>
  21.  
  22. <?php
  23. mysql_connect("localhost", "aaaaa", "bbbbb") or die ("Nie można połączyć się z bazą");
  24. mysql_select_db ("firma") or die ("Nie można połączyć się z bazą firma");
  25.  
  26.  
  27. $imie1=$_POST['imie'];
  28. $nazwisko1=$_POST['nazwisko'];
  29. $nazwa1=$_POST['nazwa_firmy'];
  30. $telefon1=$_POST['telefon'];
  31.  
  32.  
  33. if($imie1 and $nazwisko1 and $nazwa1 and $telefon1)
  34. {
  35.  
  36. $ins =mysql_query("insert into Klienci set imie='$imie1', nazwisko='$nazwisko1', nazwa_firmy='$nazwa1',telefon='$telefon1'");
  37. if($ins) echo "Rekord został dodany poprawnie";
  38. else echo "Błąd nie udało się dodać nowego rekordu";
  39. }
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46. if(isset($_GET["napis"]))
  47. {
  48. $zapytanie2="SELECT *from klienci where imie='$_GET[napis]'";
  49. $wyk2=mysql_query($zapytanie2);
  50.  
  51. $row=mysql_fetch_row($wyk2);
  52. $i =0;
  53. echo "<table cellpading=5 border=2>";
  54. do
  55. {
  56. echo "<td>$row[$i]</td>";
  57. $i++;
  58. }while($i<5);
  59. echo "</table>";
  60.  
  61. echo '<a href ="formularz.php"> Powrot do formularza</a>';
  62. }
  63. else
  64. {
  65. echo '<form action= "formularz.php" method="get">';
  66. echo '<input type= "text" name="napis">';
  67. echo '<input type= "submit" value="Szukaj imie">';
  68. echo '</form>';
  69.  
  70. }
  71.  
  72.  
  73. $zapytanie1 = "SELECT *from klienci";
  74. $wyk1=mysql_query($zapytanie1);
  75.  
  76. echo "<table cellpading=5 border=2>";
  77. echo "<tr>";
  78. echo "<td><b>Id_klienta</td></b>";
  79. echo "<td><b>Imie</td></b>";
  80. echo "<td><b>Nazwisko</td></b>";
  81. echo "<td><b>Nazwa firmy</td></b>";
  82. echo "<td><b>Telefon</td></b>";
  83. echo "</tr>\n";
  84.  
  85. while($rekord=mysql_fetch_array($wyk1))
  86. {
  87. $id =$rekord[0];
  88. $imie=$rekord[1];
  89. $nazwisko=$rekord[2];
  90. $nazwa_firmy=$rekord[3];
  91. $telefon=$rekord[4];
  92.  
  93. echo "<tr>";
  94. echo "<td><b>$id</td></b>";
  95. echo "<td><b>$imie</td></b>";
  96. echo "<td><b>$nazwisko</td></b>";
  97. echo "<td><b>$nazwa_firmy</td></b>";
  98. echo "<td><b>$telefon</td></b>";
  99. echo "</tr>\n";
  100. }
  101. echo "</table>";
  102.  
  103.  
  104.  
  105.  
  106. ?>
  107. </body>
  108. </html>
thek
Nie mieszaj bbcode tak... zaraz Ci to poprawie, bo w chwili obecnej nic nie widać normalnie, ale to ostatni raz. Sam dbaj o to. A błędy (właściwie to ostrzeżenia) Ci wali, bo odnosisz się do $_POST, choć jej przy wejściu pierwszym przecież nie ma. Sprawdzaj więc, czy ktoś cokolwiek posłał poprzez sprawdzenie czy ktoś kliknął submit i dopiero w nim wykonuj co trzeba ze zmiennymi w $_POST, bo teraz robi to za każdym razem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.