Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] coś nie tak z formularzem sklepu internetowego
Forum PHP.pl > Forum > Przedszkole
jowice
mam problem z tym formularzem- po otworzeniu strony wyświetla się: Notice: Undefined index: imie on line 29
Notice: Undefined index: nazwisko on line 29
Notice: Undefined index: adres on line 29
Notice: Undefined variable: POST on line 29
Notice: Undefined variable: imie_filtr on line 51
Notice: Undefined variable: nazwisko_filtr on line 51
Notice: Undefined variable: adres_filtr on line 51
Notice: Undefined variable: email_filtr on line 51
Pisałam już tu jakoś wczoraj (przedwczoraj?) ale mój temat został zmaknięty- widocznie moderator źle mnie zrozumiał (albo ja się źle wyraziłam). Naprawdę chce się czegoś nauczyć i nie chce żeby ktoś za mnie odwalił całą robotę. Spędziłam nad tym formularzem duuużo czasu, przeczytałam duuużo rzeczy i starałam się cos z tym zrobić, ale dla kogoś kto nie ma do czynienia z informatyką pewne rzeczy są po prostu niewidoczne. Dlatego bardzo proszę choć o niewielką wskazówkę

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <html lang="pl">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>Niesamowity sklep</title>
  6. </head>
  7. <body>
  8. <?php
  9. function formularz($imie = "", $nazwisko = "", $adres = "", $email = ""){
  10. ?>
  11.  
  12. <form action="formularz.php" method="POST">
  13. <div>
  14. Imię:<br />
  15. <input name="imie" value="<?= $imie; ?>"/><br />
  16. Nazwisko:<br />
  17. <input name="nazwisko" value="<?= $nazwisko; ?>"/><br />
  18. Adres:<br />
  19. <input name="adres" value="<?= $adres; ?>"/><br />
  20. Adres email:<br />
  21. <input name="email" value="<?= $email; ?>"/><br />
  22. <input type="submit" name="submit" value="Wyślij" />
  23. </div>
  24. </form>
  25.  
  26. <?php
  27. }
  28. if (empty($_POST['imie']) || empty($_POST['nazwisko']) || empty($_POST['adres']) || empty($_POST['email'])) {
  29. formularz($_POST['imie'], $_POST['nazwisko'], $_POST['adres'], $POST['email']);
  30. echo "<p>Należy wypełnić wszystkie pola formularza!</p>";
  31. }
  32. else {
  33. formularz($_POST['imie'], $_POST['nazwisko'], $_POST['adres'], $_POST['email']);
  34. $imie_filtr = addslashes(trim($_POST['imie']));
  35. $nazwisko_filtr = addslashes(trim($_POST['nazwisko']));
  36. $adres_filtr = addslashes(trim($_POST['adres']));
  37. $email_filtr = addslashes(trim($_POST['email']));
  38. }
  39.  
  40.  
  41. $link = mysql_connect('bbbbb','xxxx','aaaaa');
  42.  
  43. if(!$link)
  44. {
  45. die('Could not connect: ' .mysql_error());
  46. }
  47. else
  48. {
  49. mysql_select_db('xxxx');
  50.  
  51. $zapytanie = "INSERT INTO KLIENT VALUES ('', '$imie_filtr', '$nazwisko_filtr', '$adres_filtr', '$email_filtr')";
  52. $rezultat = mysql_query($zapytanie);
  53.  
  54. if (!$rezultat){
  55. echo 'invalid query';
  56. }
  57. else
  58. echo "Dane zostały wprowadzone";
  59.  
  60. mysql_close($link);
  61. }
  62.  
  63. ?>
  64.  
  65. </body>
  66.  
  67. </html>
Armstrong
Forum NIE parser, a notice można zignorować. Wyłącz wyświetlanie notice. error_reporting
nospor
Ałć..... jowice nie słuchaj się Armstronga bo źle na tym wyjdziesz.
Co do błędów: to chyba jasno napisane jest co masz źle i w której linii.
Armstrong
@nospor może i wyjdzie na tym źle, ale skoro nie wie takiej prostej rzeczy (co to notice) to po co się w to zagłębiać. wink.gif
nospor
Bo mu krzywdę robisz na przyszłość. Jak masz zamiar tak "pomagać" to weź i nie pomagaj wcale i poprostu zignoruj temat.
Mackos
Cytat
@nospor może i wyjdzie na tym źle, ale skoro nie wie takiej prostej rzeczy (co to notice) to po co się w to zagłębiać.

Żeby na przyszłość wiedziała i później nie robiła badziewia a konkretne rzeczy closedeyes.gif
jowice
No właśnie wiem gdzie jest źle i teoretycznie co jest źle, ale problem w tym że jak dla mnie wszystko jest dobrze.

No nie wiem co to jest Notice- to prawda, ale wszechwiedzący internet (biorąc pod uwagę ustrój demokratyczny) mówi mi "wyłącz to". Co mi w sumie nic nie mówi, bo wierze wam że to zły pomysł, ale przynajmniej się pocieszyłam- nie tylko ja jestem ignorantką/idiotąwink.gif.

Ale byłabym bardzo wdzięczna gdyby ktoś mi pomógł w każdym razie;)
Armstrong
Oznacza iż zmienna nie istnieje, przed użyciem zmiennej sprawdź czy istnieje, co zawiera etc..
nospor
@Mackos Jakiś ty się nagle mądry zrobił... tongue.gif Weź się lepiej za studiowanie manuala i używanie mózgu, bo takie bezmyślne posty piszesz w innym temacie że ja już wnim odpowiadać nie będę. smile.gif (mam nadzieję, że się za tę wzmiankę nie obrazisz a weźmiesz trochę za myślenie bo przy czterolinijkowym kodzie naprawdę mógłyś trochę wysilić szare komórki)

@jowice Twoja szczerość mnie rozbroiła biggrin.gif
Notice: Undefined index: nazwisko on line 29
Dobierasz się do nieokreślonego indeksu o nazwie "nazwisko". Linia 29 to:
formularz($_POST['imie'], $_POST['nazwisko'], $_POST['adres'], $POST['email']);
Wieć chodzi konkretnie o to: $_POST['nazwisko']
Zanim do czegoś się dobierzesz sprawdź czy to istnieje.
Analogicznie inne podobne błędy

Notice: Undefined variable: imie_filtr on line 51
Niezdefiniowana zmienna $imie_filtr
Linia 51 to to:
$zapytanie = "INSERT INTO KLIENT VALUES ('', '$imie_filtr', '$nazwisko_filtr', '$adres_filtr', '$email_filtr')";
Wkładasz do zapytania zmienną, która nie jest zdefioniowana. Czy tak można? Czy można taki błąd poprostu nie wyświetlać? No nie. Więc się nie słuchaj ludzi, którzy ci mówią inaczej i poprawiaj takie błędy smile.gif
Mackos
Nospor, możesz mi wierzyć lub nie ale stronię od wypytywania o wszystko na forum. Ale jak przy czymś grzebie i nie daje rady to pytam. W końcu chyba o to chodzi wink.gif
A zrobiłem się `mądry` bo jestem w identycznej sytuacji jak koleżanka jowice -> Nie wiem, i szukam pomocy w danej kwestii. Więc też nie akceptuje wypowiedzi żeby odwalić byle co.
jowice
Dobra- mam nadzieję, że tym razem moja szczerość też Cię rozbroi a nie zirytuje;D. Bo jak dla mnie te zmienne są zdefiniowane:). Próbowałam iść tym tropem- imie, nazwisko i adres są niezdefiniowane, ale email jest już zdefiniowany (chyba że to, że nie wyświetla mi takiego błędu wcale tego nie oznacza) i szczerze mówiąc nie widzę różnicy- wszystkie wyglądają tak samo.

Ale przynajmniej jestem bogatsza o wiedzę, że moj angielski jest wystarczający żeby zrozumieć komunikaty o błędach;D
nospor
Ok, postępy smile.gif
Mówisz, że masz te zmienne zdefiniowane? Tak, na pewno? A spójrz gdzie ty je definiujesz. Ty je definiujesz w bloku ELSE czyli definiujesz je warunkowo, gdy (nie)zostanie spełniony jakiś warunek. Rozumiesz?

Jeśli zaś mówiłaś o indeksach w tablicy $_POST to przed wysłaniem formularza (czyli de facto odpalenie strony) zadna wartośc w $_POST nie jest określona gdyż $_POST pojawia się dopiero po wysłaniu formularza. Wieć $_POST['cośtam'] powinnaś robić dopiero po wysłaniu forma, gdy te cośtam tam jest
jowice
No rzeczywiście mogę nie mieć ich zdefiniowanych (ale teraz zaczynam rozumieć dlaczego niektórzy wyłączają informowanie o błędach- choć ja chyba jednak wolę o nich wiedziećwink.gif
Czyli mam napisać coś w rodzaju:

if(isset($_POST['imie']){
$imie = $_POST['imie'];
.
.
.
.
}

Pewnie nie, bo tak w sumie to to nie działa. Poza tym jakoś za długo by to zajęło miejsca jak dla informatyków:)
nospor
Cytat
No rzeczywiście mogę nie mieć ich zdefiniowanych (ale teraz zaczynam rozumieć dlaczego niektórzy wyłączają informowanie o błędach- choć ja chyba jednak wolę o nich wiedzieć
To masz jeszcze lekturę do poduszki:
http://nospor.pl/notice-wyswietlac-czy-nie.html

Cytat
if(isset($_POST['imie']){
$imie = $_POST['imie'];
.
.
.
.
}

$imie = isset($_POST['imie']) ? $_POST['imie'] : '';
smile.gif
jowice
Albo raczej przed wszystkim napisać if(isset($imie)) i tak z każdą zmienną...
jowice
Dziękuję Ci- jesteś niesamowity!:)
modern-web
nospor - nie zarywaj ;d
nospor
tongue.gif

A co, zazdrościsz że na mnie kobitki lecą wink.gif

@jowice call me, 0-700-GORACY-PUCHATEK wink.gif
modern-web
yep! (nie powiem, że nie bo mi warna wlepisz biggrin.gif)
a i... czekaj; już dzwonię ^^

Edit:
cholera; linia zajęta ;|
jowice
Kurcze- też dzwoniłam i też było zajęte!:D

Mogłam udawać mądrzejsząsad.gifbiggrin.gif
nospor
Oj nie poddawajcie się. Dzwońcie do oporu. Swoją drogą że też te 20,96 zł/min (bez VAT) nie odstrasza ludzi wink.gif
konole
Cytat(nospor @ 26.04.2011, 21:25:27 ) *
Oj nie poddawajcie się. Dzwońcie do oporu. Swoją drogą że też te 20,96 zł/min (bez VAT) nie odstrasza ludzi wink.gif

Przecież tyle ostatnio mówią o wzroście gospodarczym w Polsce... businesssmiley.png
jowice
A widzisz- nie odstrasza, ile to mówi o tobie. Ja bym się czuła dowartościowana;)
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.