Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz zamówienia
Forum PHP.pl > Forum > Przedszkole
Eset96
Witam

nie znam się dobrze na php, zakładamy z kolegą stronę. Nie chcemy za nią płacić, bo nie wiemy czy nasz biznes wypali.
Dlatego zgłaszam się z pomocą do Was.
Mój problem polega na tym, że nie mam skryptu to zamawiania.
Wiem że to pewnie proste, ale nie mogę sobie z tym poradzić.

Plik zamowienie.php
  1. Twoje
  2. imię<br>
  3. <input name="imie"><br>
  4. <br>
  5. Adres<br>
  6. <input name="adres"><br>
  7. <br>
  8. Rozmiar<br>
  9. <select name="rozmiar">
  10. <option>L</option>
  11. <option>XL</option>
  12. </select>
  13. <br>
  14. <br>
  15. Numer produktu<br>
  16. <input name="numer"><br>
  17. <br>
  18. <input name="regulamin" value="regulamin" type="checkbox">
  19. &nbsp;Akceptuje <a style="color: rgb(0, 0, 0);"
  20. href="regulamin.php">regulamin</a>


Muszę zrobić coś takiego, że gdy wpisze się w formularz dane to one zostaną dodane do bazy danych do tabeli zamówienia.
Jeżeli by mógł podać kod na 1 przykładzie np imie, bym był bardzo wdzięczny.

Pozdrawiam Eset96
nospor
google: formularz php mysql
I już pierwszy wynik daje odpowiedź na Twoje pytanie.

Przenosze
Eset96
Zrobiłem coś takiego:
  1. <?php
  2. // podłączamy plik connection.php
  3. require "connection.php";
  4. // wywołujemy funkcję connection()
  5. connection();
  6. ?>
  7.  
  8. <?php
  9. // odbieramy dane z formularza
  10. $imie=urlencode($_GET['imie']);
  11. $email=urlencode($_GET['email']);
  12.  
  13. if($imie and $email) {
  14.  
  15. // dodajemy rekord do bazy
  16. $ins = @mysql_query("INSERT INTO zamowienia SET imie='$imie', email='$email'");
  17.  
  18. if($ins) echo "Rekord został dodany poprawnie";
  19. else echo "Błąd nie udało się dodać nowego rekordu";
  20.  
  21. mysql_close($connection);
  22. }
  23.  
  24. ?>



Wywala:
Błšd nie udało się dodać nowego rekordu
Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/tibiatoo/public_html/testgimnazjalny2011.pl/test/dodaj.php on line 21

Co nie tak jest?
nospor
Cytat
Warning: mysql_close(): supplied argument is not a valid MySQL-Link
Po tym komunikacie widac, że masz cos nie tak z połączeniem
Być może też masz błąd z zapytaniem

Jak radzić sobie z błędami bazy danych masz napisane tu:
Temat: Jak poprawnie zada pytanie
Eset96
Witam ponownie

Zrobiłem coś takiego:
  1. <?php
  2. require("connection.php");
  3. connection();
  4. $imie = $_POST['imie'];
  5. $miasto = $_POST['miasto'];
  6. $email = $_POST['email'];
  7. $numer = $_POST['numer'];
  8.  
  9. if (strlen($imie) < 3 or strlen($imie) > 30 or !eregi("^[a-zA-Z0-9_.]+$", $imie)) {
  10. $blad++;
  11. echo '<p>Prosze o wprowadzenie poprawnego imienia!</p>';
  12. }
  13. if (strlen($miasto) < 2 or strlen($miasto) > 40 ) {
  14. $blad++;
  15. echo '<p>Prosze wprowadzic poprawna miejscowosc</p>';
  16.  
  17. }
  18. if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,4}$", $email)) {
  19. $blad++;
  20. echo '<p> Proszę wprowadzić poprawnie adres email.</p>';
  21. } else {
  22. $wynik = mysql_query("SELECT * FROM formularz WHERE email='$email'");
  23. if (mysql_num_rows($wynik) <> 0) {
  24. $blad++;
  25. echo '<p>Ten e-mail jest juz w bazie.</p>';
  26. }
  27. if (strlen($numer) < 9 or strlen($numer) > 9 or !eregi("^[a-zA-Z0-9_.]+$", $imie)) {
  28. $blad++;
  29. echo '<p>Prosze o wprowadzenie poprawnego numeru!</p>';
  30. }
  31.  
  32. if ($blad == 0) {
  33.  
  34.  
  35. $zapytanie = "INSERT INTO `formularz` VALUES('".$imie."','".$miasto."','".$email."','".$numer."')";
  36. mysql_query($zapytanie);
  37.  
  38. echo "Dziekujemy za wysłanie do nas wiadomości,";
  39. ?>



Wszystko działa ok, tylko potem dodałem zabezpieczenia i wywala mi błąd jakby ktoś mógł pomoc
Parse error: syntax error, unexpected $end in /home/strona/dodaj.php on line 41
nospor
Każdy otwarty nawias { należy zamknąć }
abort
Ja tak tylko z boku skomentuję jedna rzecz:
Zapomnij o funkcji "ereg", "eregi", ereg_replace i eregi_replace - ta funkcja jest przestarzała i od php 5.3.0 nie powinno się jej uzywać. Tak przynajmniej mówi manual: http://www.php.net/manual/pl/function.ereg.php
Był na ten temat wątek: http://forum.php.pl/index.php?showtopic=179479 - tam masz też info odnośnie tego, w jaki sposób zmigrować ereg na preg_match (Ty używasz eregi, więc musisz trochę doczytać)

Piszę to, bo być może tak jak kolega z zacytowanego wątku zrobisz upgrade php i sam wpadniesz na minę. Lepiej naucz się funkcji zaczynających się od "preg_", czyli preg_match, preg_replace itp.

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.