Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Formularz z zapisem do bazy danych
Forum PHP.pl > Forum > Przedszkole
jack3631
Witam mam stworzyć formularz w którym muszę wpisać liczbę i dodać ją do bazy za pomocą skryptu php i pokazac wynik zapisania za pomoca drugiego skryptu
Mianowicie mam taki problem że liczba musi być większa od zera i mam problem z umieszczeniem tego w kodzie .Proszę o pomoc drugi skrypt
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <link rel="stylesheet" href="strona.css" type="text/css" />
  5. <meta charset="utf-8" />
  6. <title></title>
  7. </head>
  8. <body>
  9. <div id="box">
  10. <div id="naglowek">
  11.  
  12. </div>
  13. <div id="tresc">
  14. <form action="form.php" method="post">
  15. liczba:<br />
  16. <input type="text" name="liczba" /><br />
  17.  
  18. <input type="submit" value="dodaj" />
  19. </form>
  20. <form action="pokaz.php" method="post">
  21. <input type="submit" value="Pokaż" href="pokaz.php">
  22. </form>
  23. </div>
  24. <div id="menu">
  25. <a href="index.php1">Strona główna</a><br>
  26. <a href="informatyka.php">Informatyka</a><br>
  27. <a href="elektronika.php">Elektronika</a>
  28. </div>
  29. </div>
  30. </body>
  31. </html>


  1. <?php
  2. $connection = @mysql_connect('localhost', 'root', '')
  3. or die('Brak połączenia z serwerem MySQL.<br />Błąd:'.mysql_error());
  4. echo "Udało się połączyć z serwerem!<br />";
  5. $db = @mysql_select_db('baza', $connection)
  6. or die ('Nie mogę połączyć się z bazą danych!<br />Błąd: '.mysql_error());
  7.  
  8. if ($_POST['liczba'] >0)
  9.  
  10. echo ("podano liczbe wieksza od zera");
  11.  
  12. $sql = "INSERT INTO liczba ($_POST['liczba']) VALUES ('$liczba')";
  13. if (mysql_query($sql, $connection)) {
  14. echo "Dodano rekordy";
  15. } else {
  16. echo "Błąd: " . $sql . "<br>" . mysql_error($connection);
  17. }
  18. mysql_close($connection);
  19. ?>
  20. <p>
  21. <a href="informatyka.php">Wróć</a>
  22. </p>


  1. <?php
  2. $connection = @mysql_connect('localhost', 'root', '')
  3. or die('Brak połączenia z serwerem MySQL.<br />Błąd:'.mysql_error());
  4. echo "Udało się połączyć z serwerem!<br />";
  5. $db = @mysql_select_db('dane', $connection)
  6. or die ('Nie mogę połączyć się z bazą danych!<br />Błąd: '.mysql_error());
  7.  
  8. echo '<table>';
  9. $query = mysql_query('SELECT * FROM liczba') or die();
  10. while ($rec = mysql_fetch_assoc($query))
  11. {
  12. echo '<tr>
  13. <td>'.$rec['liczba'].'</td>
  14.  
  15.  
  16. </tr>';
  17. }
  18. echo '</table>';
  19. mysql_close($connection);
  20. ?>
  21. <p>
  22. <a href="informatyka.php">Wróć</a>
  23. </p>



w tym mam problem
  1. if ($_POST['liczba'] >0)
  2.  
  3. echo ("podano liczbe wieksza od zera");
  4.  
  5. $sql = "INSERT INTO liczba ($_POST['liczba']) VALUES ('$liczba')";
kapslokk
1. Jeśli po ifie nie masz klamerek to wykona się tylko jedna instrukcja po nim, czyli w Twoim przypadku działa to tak:
  1. if ($_POST['liczba'] >0){
  2. echo ("podano liczbe wieksza od zera");
  3. }
  4.  
  5. $sql = "INSERT INTO liczba ($_POST['liczba']) VALUES ('$liczba')";

2. Zobacz sobie składnię INSERT w dokumentacji. Chodzi mi konkretnie o pierwszy nawias w zapytaniu.
jack3631
Po dokonaniu poprawek mam takie coś

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\wamp\www\form.php on line 12
kapslokk
W 12 linijce masz nieoczekiwany ". Jak nie rozumiesz błędów to próbuj je sobie przetłumaczać. Poza tym tylko Ty wiesz jak teraz wygląda Twój kod, więc jak mamy Ci pomóc?
jack3631
  1. <?php
  2. $connection = @mysql_connect('localhost', 'root', '')
  3. or die('Brak połączenia z serwerem MySQL.<br />Błąd:'.mysql_error());
  4. echo "Udało się połączyć z serwerem!<br />";
  5. $db = @mysql_select_db('dane', $connection)
  6. or die ('Nie mogę połączyć się z bazą danych!<br />Błąd: '.mysql_error());
  7.  
  8. if ($_POST['liczba'] >0){
  9. echo ("podano liczbe wieksza od zera");
  10.  
  11.  
  12. $sql = "INSERT INTO liczba ($_POST['liczba']) VALUES ('$liczba')";
  13. if (mysql_query($sql, $connection)) {
  14. echo "Dodano rekordy";
  15. } else {
  16. echo "Błąd: " . $sql . "<br>" . mysql_error($connection);
  17. }
  18.  
  19. mysql_close($connection);
  20. }
  21. ?>
  22. <p>
  23. <a href="informatyka.php">Wróć</a>
  24. </p>


nadal mi nie zapisuje do bazy danych
kapslokk
Cytat(kapslokk @ 30.11.2015, 18:00:45 ) *
2. Zobacz sobie składnię INSERT w dokumentacji. Chodzi mi konkretnie o pierwszy nawias w zapytaniu.

jack3631
Już ok
  1. <?php
  2. $connection = @mysql_connect('localhost', 'root', '')
  3. or die('Brak połączenia z serwerem MySQL.<br />Błąd:'.mysql_error());
  4. echo "Udało się połączyć z serwerem!<br />";
  5. $db = @mysql_select_db('dane', $connection)
  6. or die ('Nie mogę połączyć się z bazą danych!<br />Błąd: '.mysql_error());
  7.  
  8. if ($_POST['liczba'] >0){
  9. echo ("podano liczbe wieksza od zera");
  10.  
  11.  
  12. $sql = "INSERT INTO liczba VALUES (".$_POST['liczba'].")";
  13. if (mysql_query($sql, $connection)) {
  14. echo "Dodano rekordy";
  15. } else {
  16. echo "Błąd: " . $sql . "<br>" . mysql_error($connection);
  17. }
  18.  
  19. mysql_close($connection);
  20. }
  21. ?>
  22. <p>
  23. <a href="informatyka.php">Wróć</a>
  24. </p>
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.