Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP] Nie dodaje rekordów
Forum PHP.pl > Forum > Przedszkole
jam09
Witam
Czy ktoś może mi powiedzieć co jest źle w tym skrypcie dodawania rekordów ? Niestety nie dodaje on do bazy nic.
  1. <?php
  2. $nazwak = $_POST['nazwak'];
  3. $adresk = $_POST['adresk'];
  4. $telefonk = $_POST['telefonk'];
  5. $emailk = $_POST['emailk'];
  6. require_once('includes/config.php');
  7. $dodawaniek = "INSERT INTO 'klienci' ('nazwa', 'adres', 'telefon', 'email') VALUES ('$nazwak', '$adresk', '$telefonk', '$emailk')";
  8. mysql_query($dodawaniek);
  9.  
  10. ?>

  1. <form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
  2. Imie i nazwisko :<input type="text" name="nazwak"/><br>
  3. Adres :<input type="text" name="adresk" /><br>
  4. Numer telefonu: <input type="text" name="telefonk" /><br>
  5. Adres email: <input type="text" name="emailk"/><br>
  6. <input type="submit" value="Dodaj klienta"/>
  7. </form>

Dodam jeszcze że moja tabela wygląda następująco
  1. SET FOREIGN_KEY_CHECKS=0;
  2. -- ----------------------------
  3. -- Table structure for `klienci`
  4. -- ----------------------------
  5. DROP TABLE IF EXISTS `klienci`;
  6. CREATE TABLE `klienci` (
  7. `id_klienta` int(11) NOT NULL DEFAULT '0',
  8. `nazwa` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
  9. `adres` text CHARACTER SET utf8,
  10. `telefon` int(11) DEFAULT NULL,
  11. `email` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
  12. PRIMARY KEY (`id_klienta`)
  13. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  14.  
  15. -- ----------------------------
  16. -- Records of klienci
  17. -- ----------------------------
  18. INSERT INTO `klienci` VALUES ('1', 'Jan Kowalski', 'Wa-wa', '75685658', 'kowalski@jan.pl');
  19. INSERT INTO `klienci` VALUES ('2', 'Ania Kowalska', 'Kraków', '54', 'ania@kowalska.pl');
  20. INSERT INTO `klienci` VALUES ('3', 'Jan Nowak', 'Kielce', '43643634', 'jan_nowak@nowak.pl');

Z góry dziękuję jam09
jasin
Po pierwsze:
masz gdzieś łączenie z baza danych?
Po drugie w kodzie php daj na początku:
  1. echo '<pre>';
  2. var_export($_POST);

I zobacz czy w tablicy POST coś jest (bo może źle wywołujesz skryp).
jam09
1.A łączenie zrobiłem w config.php i wywołuje je przez require_once
config.php
  1. $host = 'localhost'; // host mysql najczęściel localhost
  2. $user = 'root'; // tutaj podajemy login do bazy
  3. $haslo = '*'; // tutaj podajemy hasło do bazy
  4. $nazwa = 'system'; // nazwa bazy danych
  5. $baza = @mysql_connect($host, $user, $haslo) or die ('Nie można połaczyc sie z Mysql'); // rozpoczyna połączenie z bazą
  6. mysql_select_db ($nazwa) or die ('Nie moge wybrać bazy'); // wybiera bazę
  7. mysql_query("SET NAMES utf8");

Ale z łączeniem nie mam problemów.
2. Nie wiem o co chodzi ale wyświetla
Cytat
array (
)
jasin
Więc Twój formularz nie wywołuje tego skryptu php.
Zamiast
  1. <form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">

powinno być jeszcze
  1. <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
jam09
Zrobiłem tak i dalej jest tak samo
  1. if(!empty($_POST["nazwak"]) AND !empty($_POST["adresk"]) AND !empty($_POST["telefonk"])AND !empty($_POST["emailk"])){
  2. $nazwak = $_POST['nazwak'];
  3. $adresk = $_POST['adresk'];
  4. $telefonk = $_POST['telefonk'];
  5. $emailk = $_POST['emailk'];
  6. require_once('includes/config.php');
  7. $dodawaniek = "INSERT INTO 'klienci' ('nazwa', 'adres', 'telefon', 'email') VALUES ('$nazwak', '$adresk', '$telefonk', '$emailk')";
  8. mysql_query($dodawaniek);
  9. }
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.