Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][MySQL][PHP]Wprowadzenie danych do bazy - problem
sentinell
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 14.02.2015

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


Witam.

Zbudowałem sobie prostą bazę, szkielet strony już działa, nie działą mi jednak dodawanie rekorów.


Formularz wpisywania danych, ma postać:

  1. <br/>
  2. Wpisz dane nowego promotora poniżej:
  3. <br/>
  4. <br/>
  5. <form action="include/dodanie_promotora.php" method="post">
  6. Imię:<br />
  7. <input type="text" name="imie" /><br />
  8. Nazwisko:<br />
  9. <input type="text" name="nazwisko" /><br />
  10. Telefon:<br />
  11. <input type="text" name="telefon" /><br />
  12. E-mail:<br />
  13. <input type="text" name="adres_email" /><br />
  14. Adres do wysyłki:<br />
  15. <input type="text" name="adres_do_wysylki" /><br />
  16. <input type="submit" value="Dodaj" />
  17. </form>


w katalogu INCLUDE, mam dodanie_promotora.php , a w nim kod:

  1. <?php
  2. // odbieramy dane z formularza
  3. $imie = $_POST['imie'];
  4. $nazwisko = $_POST['nazwisko'];
  5. $telefon = $_POST['telefon'];
  6. $adres_email = $_POST['adres_email'];
  7. $adres_do_wysylki = $_POST['adres_do_wysylki'];
  8. if($imie and $nazwisko and $telefon and $adres_email and $adres_do_wysylki ) {
  9. // dodajemy rekord do bazy
  10. $ins = @mysql_query("INSERT INTO promotorzy SET imie='$imie', nazwisko='$nazwisko', telefon='$telefon', adres_email='$adres_email', adres_do_wysylki='$adres_do_wysylki'");
  11. if($ins) echo "Rekord został dodany poprawnie";
  12. else echo "Błąd nie udało się dodać nowego rekordu";
  13. }
  14. ?>



Baza danych ma postać:

1 id_promotora int(4) AUTO_INCREMENT
2 imie varchar(15) utf8_polish_ci
3 nazwisko varchar(30) utf8_polish_ci
4 telefon int(14)
5 adres_email varchar(40)
6 adres_do_wysylki varchar(100)


Co jest nie tak:
1.) wywala "Błąd nie udało się dodać nowego rekordu" (połączenie z bazą danych jest przy samym wejściu na stronę)
2.) jak zrobić, aby informacja o "Błąd nie udało się dodać nowego rekordu" była w tym samym oknie, a nie na nowej stronie? (plik php mam w innym folderze)

Ten post edytował sentinell 14.02.2015, 12:06:55
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
Raito
post
Post #2





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

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


Pierwszy błąd jaki zauważyłem to: <form action="include/dodanie_promotora.php" method="post">, a odbierasz w dodaj_promotora.php.
Go to the top of the page
+Quote Post
Boshi
post
Post #3





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

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


  1. $ins = @mysql_query("INSERT INTO promotorzy SET imie='$imie', nazwisko='$nazwisko', telefon='$telefon', adres_email='$adres_email', adres_do_wysylki='$adres_do_wysylki'");


co to jest to SET, gdzie masz Values? ... Chyba pomyliłeś Update z Insertem...
Go to the top of the page
+Quote Post
sentinell
post
Post #4





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 14.02.2015

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


Zdaje sobie sprawę, że jest SET, ale w dokumentacji MYSQL jest, że tak można zastosować

  1. https://dev.mysql.com/doc/refman/5.6/en/insert.html


Tam w dodawanie promotora, to literówka przy pisaniu na forum, oczywiście jest poprawnie.

Cytat(Raito @ 14.02.2015, 11:42:47 ) *
Pierwszy błąd jaki zauważyłem to: <form action="include/dodanie_promotora.php" method="post">, a odbierasz w dodaj_promotora.php.


Literówka przy pisaniu na forum, jest tak samo, dzięki za zwrócenie uwagi.
Go to the top of the page
+Quote Post
bartek4175
post
Post #5





Grupa: Zarejestrowani
Postów: 284
Pomógł: 1
Dołączył: 15.08.2013

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


  1. $ins = @mysql_query("INSERT INTO `promotorzy` ( `imie` , `nazwisko` , `telefon`, `adres_email`, `adres_do_wysylki`) VALUES ('$imie', '$nazwisko', '$telefon', '$adres_email', '$adres_do_wysylki')") or die(mysql_error());

sprawdź czy tak będzie działac

Ten post edytował bartek4175 14.02.2015, 12:14:56
Go to the top of the page
+Quote Post
Boshi
post
Post #6





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

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


Tyle, że nikt tak nie pisze, jak spotkasz gdzieś kod taki jak twój to bedzie cud.

  1. INSERT INTO table_name (column1,column2,column3,...)
  2. VALUES (value1,value2,value3,...);


Po drugie sprawdź var_dump($_POST) co tutaj siedzi.

Ten post edytował Boshi 14.02.2015, 12:17:58
Go to the top of the page
+Quote Post
sentinell
post
Post #7





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 14.02.2015

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


A jeszcze pytanie, jak zrobić, aby po nacisnieciu przycisku nie wchodził do innego pliku i żebym nie widział białą stronę, tylko ten sam formularz, ale z napisem pod nim

np..... "INFORMACJE DODANE"
Go to the top of the page
+Quote Post
Boshi
post
Post #8





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

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


Jakiego pliku ma nie wchodzić, jaki przycisk, jaka jest jego funkcja?
Go to the top of the page
+Quote Post
sentinell
post
Post #9





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 14.02.2015

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


Mam formularz , na nim przycisk WYŚLIJ (zapisz do tabeli), naciskam i wywoluje plik PHP w katalogu INCLUDE, dodanie_promotora.php (dodaje dane), a wynikiem tego, jest oczywiście dopisanie, ale jest biała strona.
Chciałbym, aby jednak informacja była w tym samym oknie, na formularzu, a nie otwierało tego pliku i tam zostawało. (wszystkie instrukcje w moim 1 poście)

Ten post edytował sentinell 14.02.2015, 12:53:21
Go to the top of the page
+Quote Post
Boshi
post
Post #10





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

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


Nie możesz mieć białej strony, powinieneś dostać komunikat dodano lub wystąpił błąd.

pokaż var_dump($_POST)

i zastosuj się do tego

Temat: Jak poprawnie zadac pytanie

Ten post edytował Boshi 14.02.2015, 13:18:54
Go to the top of the page
+Quote Post
sentinell
post
Post #11





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 14.02.2015

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


Cytat(Boshi @ 14.02.2015, 13:13:27 ) *
Nie możesz mieć białej strony, powinieneś dostać komunikat dodano lub wystąpił błąd.

pokaż var_dump($_POST)

i zastosuj się do tego

Temat: Jak poprawnie zadac pytanie


tylko gdzie wstawić var_dump($_POST)
?


Chciałbym oczywiście powiedzieć, że wszelkie dane się zapisują do tabeli. Po prostu widzę białą stronę skryptu PHP który się wykonał, a chciałbym widzieć ten sam formularz tylko z dopiskiem np. "REKORD DODANY"




Ten post edytował sentinell 15.02.2015, 13:41:10
Go to the top of the page
+Quote Post
Boshi
post
Post #12





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

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


Po pobraniu danych z formularza wstaw.


Włączyłeś raportowanie błedu tak jak w linku pisze ?

Jeżeli chcesz widzieć formularz to go przeklej po prostu, albo zrób funkcje i wywołąj ją w drugim pliku.

Ten post edytował Boshi 14.02.2015, 14:15:05
Go to the top of the page
+Quote Post
sentinell
post
Post #13





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 14.02.2015

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


Dodałem raportowanie, pare rzeczy pokazał.

Go to the top of the page
+Quote Post
Boshi
post
Post #14





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

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


Dobrze by było wiedzieć co pokazał... (IMG:style_emoticons/default/facepalmxd.gif)
Go to the top of the page
+Quote Post
sentinell
post
Post #15





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 14.02.2015

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


Drobne rzeczy poprawiłem i oto co wywaliło: (czyli jest ok)

array(5) { ["imie"]=> string(5) "Jasiu" ["nazwisko"]=> string(5) "BBBBB" ["telefon"]=> string(7) "2212121" ["adres_email"]=> string(10) "wwww@wp.pl" ["adres_do_wysylki"]=> string(9) "sdsdsd 65" } array(5) { ["imie"]=> string(5) "Jasiu" ["nazwisko"]=> string(5) "BBBBB" ["telefon"]=> string(7) "2212121" ["adres_email"]=> string(10) "wwww@wp.pl" ["adres_do_wysylki"]=> string(9) "sdsdsd 65" }

Oczywiście zapisane do bazy.
Po prostu widzę białą stronę skryptu PHP który się wykonał, a chciałbym widzieć ten sam formularz tylko z dopiskiem np. "REKORD DODANY"


Ten post edytował sentinell 15.02.2015, 13:40:44
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 16:04