Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Zapis danych do bazy
topgear
post 21.03.2010, 21:54:20
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 1
Dołączył: 23.04.2009

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


Witam mam w bazie danych mam tabele "uczniowie" a w niej 3 pola "haslo", "login", "klasa". Dane zapisuje tym kodem
  1. $zapytanie = "insert into uczniowie values ('".$haslo."','".$login."','".$klasa."')";
  2. mysql_query($zapytanie) or die(mysql_error());

I nie wiem dlaczego dodaje jedno puste pole widać to na tej fotce
gdy usunę to pole to znowu się doda z następnymi danymi czyli będą 2 linijki zapełnione a 1 pusta.
Go to the top of the page
+Quote Post
gizmo1985
post 21.03.2010, 21:57:13
Post #2





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 19.01.2010

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


Dzieje się tak, bo nie wskazujesz do jakich kolumn jest przypisana zmienna winksmiley.jpg

Zmień na:
  1. $zapytanie = "insert into uczniowie (haslo, login, klasa) values ('".$haslo."','".$login."','".$klasa."')";


Ten post edytował gizmo1985 21.03.2010, 21:59:20
Go to the top of the page
+Quote Post
topgear
post 21.03.2010, 22:28:01
Post #3





Grupa: Zarejestrowani
Postów: 39
Pomógł: 1
Dołączył: 23.04.2009

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


Dzięki wszystko działa jak należy masz pomógł smile.gif

Dodałem nazwisko a login zmienilem na imie czyli w bazie wygląda to tak imie|nazwisko|klasa| haslo
kod zmieniłem na
  1. $zapytanie = "insert into uczniowie (imie, nazwisko, klasa, haslo) values ('".$imie."','".$nazwisko."','".$klasa."','".$haslo."')";
  2.  
  3. mysql_query($zapytanie);


I niestety znowu robią się te puste pola angrysmiley.gif
Go to the top of the page
+Quote Post
r4xz
post 21.03.2010, 22:33:40
Post #4





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

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


$zapytanie = "insert into uczniowie (imie, nazwisko, klasa, haslo) values ('".$imie."','".$nazwisko."','".$klasa."','".$haslo."')";
a po kiego grzyba ten gąszcz cudzysłowów? usunąć...


--------------------
Go to the top of the page
+Quote Post
gizmo1985
post 21.03.2010, 22:38:57
Post #5





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 19.01.2010

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


a może najzwyczajniej nic w tych zmiennych nie ma ... winksmiley.jpg
Żeby sprawdzić, czy masz coś w zmiennej zanim zapiszesz do bazy wyświetl ją sobie :

  1. echo $twoja_zmienna;


Pozdrawiam winksmiley.jpg
Go to the top of the page
+Quote Post
topgear
post 21.03.2010, 22:39:23
Post #6





Grupa: Zarejestrowani
Postów: 39
Pomógł: 1
Dołączył: 23.04.2009

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


  1. $zapytanie = "insert into uczniowie (imie, nazwisko, klasa, haslo) values ('$imie','$nazwisko','$klasa','$haslo')";
  2.  
  3. mysql_query($zapytanie);


I dalej nic wstydnis.gif
Go to the top of the page
+Quote Post
gizmo1985
post 21.03.2010, 22:40:25
Post #7





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 19.01.2010

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


A skąd pobierasz te zmienne ?
Go to the top of the page
+Quote Post
topgear
post 21.03.2010, 22:43:08
Post #8





Grupa: Zarejestrowani
Postów: 39
Pomógł: 1
Dołączył: 23.04.2009

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


Mam formularz
  1. echo "<form action='rejestruj.php' method=post>";
  2. echo "Imię: <input type=text name=imie><br>";
  3. echo "Nazwisko: <input type=text name=nazwisko><br>";
  4. echo "Klasa: <input type=text name=klasa><br>";
  5. echo "Hasło: <input type=password name=haslo><br>";
  6. echo "<input type=submit value='Zarejestruj mnie'>";
  7. echo "</form>";



A pobieram je
  1. $imie = $_POST['imie'];
  2. $nazwisko = $_POST['nazwisko'];
  3. $klasa = $_POST['klasa'];
  4. $haslo = $_POST['haslo'];


Sprawdzałem i gdy wpisze echo to wszystkie są. Najdziwniejsze jest to, że gdy było ich tylko 3 to wszystko było dobrze

Ten post edytował topgear 21.03.2010, 22:45:01
Go to the top of the page
+Quote Post
gizmo1985
post 21.03.2010, 22:45:52
Post #9





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 19.01.2010

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


Spróbuj w ten sposób winksmiley.jpg
  1. $zapytanie = "insert into uczniowie (imie, nazwisko, klasa, haslo) values ('".$_POST['imie']."','".$_POST['nazwisko']."','".$_POST['klasa']."','".$_POST['haslo']."')";



a :


  1. 1.
  2. echo "<form action='rejestruj.php' method=post>";
  3. 2.
  4. echo "Imię: <input type=text name=imie ><br>";
  5. 3.
  6. echo "Nazwisko: <input type=text name=nazwisko ><br>";
  7. 4.
  8. echo "Klasa: <input type=text name=klasa><br>";
  9. 5.
  10. echo "Hasło: <input type=password name=haslo><br>";
  11. 6.
  12. echo "<input type=submit value='Zarejestruj mnie'>";
  13. 7.
  14. echo "</form>";



zmień na:
  1. 1.
  2. <form action="rejestruj.php" method="post">
  3. 2.
  4. Imię: <input type="text" name="imie" /><br>
  5. 3.
  6. Nazwisko: <input type="text" name="nazwisko" /><br>
  7. 4.
  8. Klasa: <input type="text" name="klasa" /><br>
  9. 5.
  10. Hasło: <input type="password" name="haslo" /><br>
  11. 6.
  12. <input type="submit" value="Zarejestruj mnie" />
  13. 7.
  14. </form>


Ten post edytował gizmo1985 21.03.2010, 22:53:30
Go to the top of the page
+Quote Post
topgear
post 21.03.2010, 22:52:39
Post #10





Grupa: Zarejestrowani
Postów: 39
Pomógł: 1
Dołączył: 23.04.2009

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


Dalej nic

Możliwe, że to coś z phpmyadmin i sam mi te puste tabelki tworzy bo teraz tak sie jakoś dziwnie zachowuje dry.gif

Lub źle tworze tabele
CREATE TABLE `uczniowie` (
`imie` VARCHAR( 30 ),
`nazwisko` VARCHAR( 30 ),
`klasa` VARCHAR( 30 ),
`haslo` VARCHAR( 30 ),
);


A żeby tak zrobić
  1. 1.
  2. <form action="rejestruj.php" method="post">
  3. 2.
  4. Imię: <input type="text" name="imie" /><br>
  5. 3.
  6. Nazwisko: <input type="text" name="nazwisko" /><br>
  7. 4.
  8. Klasa: <input type="text" name="klasa" /><br>
  9. 5.
  10. Hasło: <input type="password" name="haslo" /><br>
  11. 6.
  12. <input type="submit" value="Zarejestruj mnie" />
  13. 7.
  14. </form>


To musiał bym mieć formularz w osobnym pliku html ponieważ nad tym formularzem mam łączenie z bazą danych więc musiałem dać "echo" bo to cały czas w php byłem. Ten mój kod wygląda jak burdel spróbuje go trochę posprzątać to może coś sie zmieni. smile.gif

Ten post edytował topgear 21.03.2010, 22:56:30
Go to the top of the page
+Quote Post
gizmo1985
post 21.03.2010, 22:55:30
Post #11





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 19.01.2010

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


Co do tworzenia bazy :
  1. <?php
  2. $connect = mysql_connect('serwe', 'login','haslo') OR die ("Sprawdź połączenie z serwerkiem msql");
  3.  
  4. $create = mysql_query ("CREATE DATABASE baza")
  5. OR die (mysql_error());
  6.  
  7. mysql_select_db("baza");
  8.  
  9. $uczniowie = "CREATE TABLE uczniowie (
  10. imie varchar(20) NOT NULL,
  11. nazwisko varchar(30) NOT NULL,
  12. klasa varchar(30) NOT NULL,
  13. haslo varchar(30) NOT NULL,
  14. id_uczen int(10) NOT NULL auto_increment,
  15. PRIMARY KEY (id_uczen)
  16.  
  17. )";
  18. $result = mysql_query($uczniowie)
  19. OR die (mysql_error());


A co stoi na przeszkodzie zrobić osobny plik ? Albo żeby mieszać HTML z PHP ?

Ten post edytował gizmo1985 21.03.2010, 23:01:56
Go to the top of the page
+Quote Post
topgear
post 21.03.2010, 23:06:44
Post #12





Grupa: Zarejestrowani
Postów: 39
Pomógł: 1
Dołączył: 23.04.2009

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


Dalej dodaje po 2 rekordy. Dzięki za pomoc bo dużo mi pomogłes ale to chyba jednak wina tego bałaganu w calym kodzie napisze chyba caly od nowa i mam nadzieję, że będzie o wiele lepiej smile.gif
Go to the top of the page
+Quote Post
gizmo1985
post 21.03.2010, 23:09:40
Post #13





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 19.01.2010

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


Powiem Ci tak, ja też jestem początkujący w tym temacie, aczkolwiek ja kończę już spory projekt na zaliczenie z PHP, również w dużej mierze dzięki forum. Przez bałagan w kodzie spędziłem spooooro czasu nad szukaniem błędów winksmiley.jpg

Postaraj się zachować czystość kodu i stosować się do tego co Ci napisałem winksmiley.jpg
A co formularzy, wedle mnie lepiej mieć dwa osobne pliki winksmiley.jpg doszedłem do tego po skończeniu projektu winksmiley.jpg

Pozdrawiam
Jak coś to pisz winksmiley.jpg
Go to the top of the page
+Quote Post
minolone
post 22.03.2010, 01:35:40
Post #14





Grupa: Zarejestrowani
Postów: 141
Pomógł: 24
Dołączył: 21.06.2008

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


Witam. Jeżeli kolego dalej sobie z tym nie poradziłeś oto twój kod lekko zmodyfikowany
baza danych
  1. CREATE TABLE IF NOT EXISTS `uczniowie` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `imie` varchar(30) NOT NULL,
  4. `nazwisko` varchar(30) NOT NULL,
  5. `klasa` varchar(30) NOT NULL,
  6. `haslo` varchar(30) NOT NULL,
  7. PRIMARY KEY (`id`)
  8. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

form.php
  1. <form action="form.php" method="post">
  2. <p><label>Imie:</label><input type="text" name="imie"></p>
  3. <p><label>Nazwisko:</label><input type="text" name="nazwisko"></p>
  4. <p><label>Klasa:</label><input type="text" name="klasa"></p>
  5. <p><label>Haslo:</label><input type="password" name="haslo"></p>
  6. <p><input type="submit" name="submit" value="Zarejestruj"></p>
  7. </form>
  8.  
  9. <?php
  10.  
  11. $imie = $_POST['imie'];
  12. $nazwisko = $_POST['nazwisko'];
  13. $klasa = $_POST['klasa'];
  14. $haslo = $_POST['haslo'];
  15.  
  16. if(!$imie || !$nazwisko || !$klasa || !$haslo)
  17. {
  18. echo 'Wypełnij pola';
  19. }
  20.  
  21. @ $db = new mysqli('localhost', 'minolone', 'Memorone123', 'minolone_form');
  22.  
  23. if (mysqli_connect_errno())
  24. {
  25. echo 'Błąd: : Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
  26. }
  27.  
  28. $zapytanie = "insert into uczniowie values (NULL, '".$imie."', '".$nazwisko."', '".$klasa."', '".$haslo."')";
  29. $wynik = $db->query($zapytanie);
  30. if ($wynik)
  31. echo ' Dodano.';
  32. ?>


Połączenie jest za pomocą modułu 'mysqli', i PHP 5, to raczej posiadasz biggrin.gif Jeżeli nie to lekka modyfikacja i po sprawie, pozdrawiam
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 20:10