Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [MySQL][MSSQL][PHP]błąd w kodach
19Dziewczyna
post 4.02.2011, 07:57:15
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 4.02.2011

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


Witam serdecznie smile.gif

Jestem tutaj po raz pierwszy więc jak źle coś napiszę, proszę o wybaczenie ;D

A więc, mam problem:
Miałam opracować skrypt, który będzie do naszej bazy danych dodawał kolejnych pracowników, no to coś tam stworzyłam.
Mam dwa kody i dwa nie chcą działać. Bardzo proszę , jeżeli ktoś by mógł na nie zerknąć bo ja już sił nie mam:D :


1)


  1. <?php
  2. if($send=='Wyslij') {
  3. $link = mysql_connect($pracownicy, '', '');
  4. mysql_select_db("PRACOWNICY");
  5. $zapytanie = "INSERT INTO PRACOWNICY SET NAZWISKO='$nazwisko', IMIE='$imie', ETAT='$etat', ID_SZEFA='$idszefa', ZATRUDNIONY='$date', PLACA_POD='$placap', PLACA_DOD='$placad', ID_ZESP='$idzesp'";
  6. $wykonaj = mysql_query ($zapytanie);
  7.  
  8.  
  9. }
  10. echo "Dane dodane prawidlowo"
  11.  
  12.  
  13. ?>



ii ten ładnie wyświetla się na stronie i wogóle,
lecz nie dodaje mi tych pracowników żadnych sad.gif


2)

  1. <html>
  2. <head>
  3. <title>Tytuł jakis tam tongue.gif</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5.  
  6. </head>
  7. <body>
  8. <h1> Dodaj nowego pracownika </h1>
  9.  
  10. <?php
  11.  
  12. $dbc = @mysqli_connect ('localhost', 'root', '', 'przyklad' );
  13.  
  14. ?>
  15.  
  16.  
  17.  
  18. <form method="POST" action="test.php">
  19. Id pracownika: <input type="text" name="id" maxlength="11" /> <br />
  20. Imię: <input type="text" name="imie" maxlength="20" /> <br />
  21. Nazwisko: <input type="text" name="nazwisko" maxlength="15" /> <br />
  22. Etat: <input type="text" name="etat" maxlength="20" /> <br />
  23. Płaca podstawowa: <input type="text" name="placa_pod" /> <br />
  24. Płaca dodatkowa: <input type="text" name="placa_dod" /> <br />
  25. ID Szefa: <select name="szef" >
  26.  
  27. <?php
  28. $q = "SELECT ID_PRAC FROM pracownicy";
  29. $r = mysqli_query ($dbc, $q) or trigger_error("Zapytanie: $q\n<br />Błąd MySQL: " . mysqli_error($dbc));
  30.  
  31. $num = mysqli_num_rows($r);
  32.  
  33. for ($i=0; $i<$num; $i++) {
  34. $row = mysqli_fetch_array($r);
  35. $id = $row['ID_PRAC'];
  36.  
  37.  
  38. echo '<option>'. $id .'</option>';
  39. }
  40. ?>
  41. </select> <br />
  42.  
  43.  
  44. Zespół: <select name="zespol" >
  45.  
  46. <?php
  47. $q = "SELECT NAZWA FROM zespoly";
  48. $r = mysqli_query ($dbc, $q) or trigger_error("Zapytanie: $q\n<br />Błąd MySQL: " . mysqli_error($dbc));
  49.  
  50. $num = mysqli_num_rows($r);
  51.  
  52. for ($i=0; $i<$num; $i++) {
  53. $row = mysqli_fetch_array($r);
  54. $nazwa = $row['NAZWA'];
  55.  
  56. echo '<option>'. $nazwa .'</option>';
  57. }
  58. ?>
  59. </select> <br />
  60.  
  61. <input type="submit" name="Dodaj" value="Dodaj">
  62. </form>
  63.  
  64.  
  65.  
  66. </body>
  67. </html>
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74. <?php
  75.  
  76. if(isset($_POST['Dodaj'])) {
  77.  
  78. $id_prac = $_POST['id'];
  79. $imie = $_POST['imie'];
  80. $nazwisko = $_POST['nazwisko'];
  81. $etat = $_POST['etat'];
  82. $placa_pod = $_POST['placa_pod'];
  83. $placa_dod = $_POST['placa_dod'];
  84.  
  85. $id_szefa = $_POST['szef'];
  86. $zespol = $_POST['zespol'];
  87.  
  88.  
  89. // pobierz ID zespolu
  90.  
  91. $q = "SELECT ID_ZESP FROM zespoly WHERE NAZWA='$zespol' ";
  92. $r = mysqli_query ($dbc, $q) or trigger_error("Zapytanie: $q\n<br />Błąd MySQL: " . mysqli_error($dbc));
  93. $row = mysqli_fetch_array($r);
  94. $id_zesp = $row['ID_ZESP'];
  95.  
  96. // koniec
  97.  
  98. // dodaj do bazy
  99.  
  100. $q = "INSERT INTO pracownicy (ID_PRAC, NAZWISKO, IMIE, ETAT, ID_SZEFA, ZATRUDNIONY, PLACA_POD, PLACA_DOD, ID_ZESP )
  101. VALUES ('$id_prac', '$nazwisko', '$imie', '$etat', '$id_szefa', NOW(), '$placa_pod', '$placa_dod', '$id_zesp')";
  102. $r = mysqli_query ($dbc, $q) or trigger_error("Zapytanie: $q\n<br />Błąd MySQL: " . mysqli_error($dbc));
  103.  
  104. if (mysqli_affected_rows($dbc) == 1) { // Zapytanie wykonane poprawnie.
  105.  
  106. echo 'Dodano nowego pracownika' ;
  107. }
  108.  
  109. }
  110.  
  111.  
  112. mysqli_close($dbc);
  113.  
  114. ?>



I tu jak wpisuję dane i klikam dodaj wyskakuje mi :


Kod
Nie znaleziono obiektu!

Nie znaleziono żądanego URLa na tym serwerze. Odnośnik na referującej stronie wydaje się być nieprawidłowy lub nieaktualny. Poinformuj autora tej strony o problemie.

Jeśli myślisz, że jest to błąd tego serwera, skontaktuj się z administratorem.
Error 404
localhost
02/04/11 07:55:22
Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1


a powinno dodać.


nie wiem co źle robięwink.gif więc prosze mnie oświecić ;P

Miłego Dnia:)
Go to the top of the page
+Quote Post
Armstrong
post 4.02.2011, 08:09:59
Post #2





Grupa: Zarejestrowani
Postów: 200
Pomógł: 40
Dołączył: 26.08.2009
Skąd: Kobiernice

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


Witamy na forum.

Co do 1-szego linijke 10 daj do lini 8 a w dziesiątej napisz
  1. else echo "nie wysyłamy";

A tak w ogóle gdzie jest formularz dla 1-szego skryptu?

co do 2:

form action masz test.php tak się nazywa plik z tym formularzem?

Ten post edytował Armstrong 4.02.2011, 08:15:38


--------------------
// NOPE
Go to the top of the page
+Quote Post
19Dziewczyna
post 4.02.2011, 09:46:27
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 4.02.2011

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


hmm zmeiniłam w tym pierwszym i wraz nie wysyła mi sad.gif

a w tym drugim no to mam ten jeden plik tylko. hmm?
Go to the top of the page
+Quote Post
osl
post 4.02.2011, 10:02:01
Post #4





Grupa: Zarejestrowani
Postów: 260
Pomógł: 41
Dołączył: 6.04.2009
Skąd: Gdańsk/okolice

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


wstaw za mysql_query coś w guście mysql_error - jeśli jest jakiś problem, to dowiesz się jaki.

co do drugiego: atrybut "action" formularza musi wskazywać na ten jeden plik, ale nie ujawniasz, jak się on nazywa wink.gif
Go to the top of the page
+Quote Post
19Dziewczyna
post 4.02.2011, 10:26:38
Post #5





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 4.02.2011

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


no ok mam dwa pliki test.php i dodawanie.php


jak włączam plik dodawanie i klikam dodj wyskakuje mi takie bledy :

Kod
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 20

Warning: mysqli_error() expects parameter 1 to be mysqli, null given in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 20

Notice: Zapytanie: SELECT ID_ZESP FROM zespoly WHERE NAZWA='ADMINISTRACJA'
B__d MySQL: in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 20

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 21

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 30

Warning: mysqli_error() expects parameter 1 to be mysqli, null given in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 30

Notice: Zapytanie: INSERT INTO pracownicy (ID_PRAC, NAZWISKO, IMIE, ETAT, ID_SZEFA, ZATRUDNIONY, PLACA_POD, PLACA_DOD, ID_ZESP ) VALUES ('', '', '', '', '110', NOW(), '', '', '')
B__d MySQL: in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 30

Warning: mysqli_affected_rows() expects parameter 1 to be mysqli, null given in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 32

Warning: mysql_close() expects parameter 1 to be resource, null given in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 39

Go to the top of the page
+Quote Post
osl
post 4.02.2011, 10:48:21
Post #6





Grupa: Zarejestrowani
Postów: 260
Pomógł: 41
Dołączył: 6.04.2009
Skąd: Gdańsk/okolice

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


Cytat
włączam plik dodawanie ; D:\programy\xxamp\xamp\xampplite\htdocs\test.php

to który plik? smile.gif

w lini
Kod
$dbc = @mysqli_connect ('localhost', 'root', '', 'przyklad' );

usuń @ - jak masz jakiś błąd połączenia to go nie zobaczysz;
dodatkowo, dodaj:
Kod
if (!$dbc) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

powinno dać jeszcze więcej informacji.
Go to the top of the page
+Quote Post
19Dziewczyna
post 4.02.2011, 11:08:18
Post #7





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 4.02.2011

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


if (!$dbc) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}


w ktorym miejscu mam to dodac?
Go to the top of the page
+Quote Post
amii
post 4.02.2011, 11:17:41
Post #8





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Wrzuć to pod:
$dbc = @mysqli_connect ('localhost', 'root', '', 'przyklad' );

Dodatkowo popraw składnie (set jest używany przy instrukcji update):
  1. $zapytanie = "INSERT INTO PRACOWNICY SET NAZWISKO='$nazwisko', IMIE='$imie', ETAT='$etat', ID_SZEFA='$idszefa', ZATRUDNIONY='$date', PLACA_POD='$placap', PLACA_DOD='$placad', ID_ZESP='$idzesp'";
  2.  
  3. //taka skladnia powinna byc przy insert
  4. $zapytanie = "INSERT INTO PRACOWNICY (NAZWISKO, IMIE, ETAT, ID_SZEFA, ZATRUDNIONY, PLACA_POD, PLACA_DOD, ID_ZESP) VALUES ('$nazwisko', '$imie', '$etat', '$idszefa', '$date', '$placap', '$placad', '$idzesp')";
  5.  
  6. //taka skladnia jest przy update w where trzeba dac jakis warunek bo inaczej nadpisze wszystkie rekordy!!!
  7. $zapytanie = "UPDATE PRACOWNICY SET NAZWISKO='$nazwisko', IMIE='$imie', ETAT='$etat', ID_SZEFA='$idszefa', ZATRUDNIONY='$date', PLACA_POD='$placap', PLACA_DOD='$placad', ID_ZESP='$idzesp' WHERE id=$id";


Ten post edytował amii 4.02.2011, 11:18:52


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
19Dziewczyna
post 4.02.2011, 18:13:36
Post #9





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 4.02.2011

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


Armi ;D

mam ten kod :

  1. <?php
  2. define('SQL_HOST', 'localhost'); //numer hosta na 99% localhost
  3. define('SQL_USER', 'root'); //nazwa uzytkownika bazy danych
  4. define('SQL_PASS', ''); //haslo bazy danych
  5. define('SQL_DB', 'pracownicy'); //nazwa bazy danych
  6.  
  7.  
  8.  
  9. //Funkcja laczaca sie z baza danych.
  10. function connect_to_db() {
  11. $db = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS) or die ('Nie moge sie polaczyc z baza danych: ' . mysql_error());
  12.  
  13. mysql_select_db(SQL_DB) or die('Nie moga wybrac bazy danych wystapil blad: ' . mysql_error());
  14.  
  15. mysql_query("SET NAMES 'utf8'");
  16. mysql_query('SET character_set_connection=utf8');
  17. mysql_query('SET character_set_client=utf8');
  18. mysql_query('SET character_set_results=utf8');
  19. }
  20.  
  21. // CLEAN - cleaning query czysci zapytania mysql zapobiega atakom SQLInjection
  22. function clean($query) {
  23. $query = stripslashes($query);
  24. }
  25. $query = mysql_real_escape_string($query);
  26. return $query;
  27. }
  28.  
  29. connect_to_db(); //laczymy sie z baza danych
  30. ?>
  31. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  32. <html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
  33. <head>
  34. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  35. <title>Skrypt dodajacy pracowników do bazy danych</title>
  36. </head>
  37. <body>
  38.  
  39.  
  40. <form method="POST" action="test.php">
  41. Id pracownika: <input type="text" name="id" maxlength="11" /> <br />
  42. Imię: <input type="text" name="imie" maxlength="20" /> <br />
  43. Nazwisko: <input type="text" name="nazwisko" maxlength="15" /> <br />
  44. Etat: <input type="text" name="etat" maxlength="20" /> <br />
  45. Płaca podstawowa: <input type="text" name="placa_pod" /> <br />
  46. Płaca dodatkowa: <input type="text" name="placa_dod" /> <br />
  47. ID Szefa: <select name="szef">
  48.  
  49. <?php
  50. $q = "SELECT ID_PRAC FROM PRACOWNICY";
  51. $r = mysql_query ($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  52. $num = mysql_num_rows($r);
  53.  
  54. while ($row = mysql_fetch_array($r)) echo '<option>'. $row['ID_PRAC'] .'</option>';
  55.  
  56. ?>
  57. </select>
  58.  
  59. Zespół: <select name="zespol" >
  60.  
  61. <?php
  62. $q = "SELECT NAZWA FROM ZESPOLY";
  63. $r = mysql_query ($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  64. //$num = mysql_num_rows($r);
  65.  
  66. while($row = mysql_fetch_array($r)) echo '<option value="'.$row['NAZWA'].'">'. $row['NAZWA'] .'</option>';
  67.  
  68. ?>
  69. </select>
  70. <input type="submit" name="Dodaj" value="Dodaj">
  71. </form>
  72.  
  73. <?php
  74. //jesli formularz zostal wyslany to filtrujemy i dodajemy dane do bazy
  75.  
  76. if(isset($_POST['Dodaj'])) {
  77.  
  78. foreach ($_POST as $key => $value) $$key = clean($value); //filtrujemy dane i przypisujemy zmienne
  79.  
  80.  
  81.  
  82. // pobierz ID zespolu
  83. $q = "SELECT ID_ZESP FROM ZESPOLY WHERE NAZWA='$zespol'";
  84. $r = mysql_query ($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  85. $row = mysql_fetch_array($r);
  86. $id_zesp = $row['ID_ZESP'];
  87.  
  88.  
  89.  
  90. //wstawiamy dane do bazy
  91. if(!empty($id) && !empty($nazwisko) && !empty($imie)) {
  92. $q = "INSERT INTO PRACOWNICY (ID_PRAC, NAZWISKO, IMIE, ETAT, ID_SZEFA, ZATRUDNIONY, PLACA_POD, PLACA_DOD, ID_ZESP )
  93. VALUES ('$id', '$nazwisko', '$imie', '$etat', '$szef', NOW(), '$placa_pod', '$placa_dod', '$id_zesp')";
  94.  
  95. $r = mysql_query($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  96.  
  97. if(mysql_affected_rows() == 1) echo 'Dodanie rekordów wykonane poprawnie.<br>';
  98. else echo 'Błąd przy dodawaniu rekordów do bazy danych.<br>';
  99.  
  100.  
  101. }
  102. else echo 'Nie zdefiniowałeś wszystkich potrzebnych zmiennych aby dodać rekord do bazy danych.';
  103. foreach ($_POST as $key => $value) unset($$key); //kasujemy zmienne POST aby nie wysylac zbednych danych przy odswiezaniu strony
  104. }
  105. ?>
  106. </body>
  107. </html>



i co ja z nim robię? bo jak wpisałam te dane wszytskie i wziełam dodaj to mi odwołało do innego zadani ktore mialam pod nazwa index.php
Czyli ja musze mieć jakiś inny plik tak ?
hehe bo ja już nie kumam biggrin.gif


taki błąd mi wyskakuje :
#
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ODBC'@'localhost' (using password: NO) in D:\programy\xxamp\xamp\xampplite\htdocs\test.php on line 22
Nie moge sie polaczyc z baza danych: Access denied for user 'ODBC'@'localhost' (using password: NO)

Ten post edytował 19Dziewczyna 4.02.2011, 18:20:27
Go to the top of the page
+Quote Post
osl
post 4.02.2011, 21:16:39
Post #10





Grupa: Zarejestrowani
Postów: 260
Pomógł: 41
Dołączył: 6.04.2009
Skąd: Gdańsk/okolice

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


sprawdź jeszcze raz czy używasz dobrych danych do połączenia (login/password) - komunikat jasno mówi, że nie masz dostępu po prostu.
Go to the top of the page
+Quote Post
19Dziewczyna
post 4.02.2011, 21:21:57
Post #11





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 4.02.2011

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


dobrych
Go to the top of the page
+Quote Post
Armstrong
post 4.02.2011, 21:27:10
Post #12





Grupa: Zarejestrowani
Postów: 200
Pomógł: 40
Dołączył: 26.08.2009
Skąd: Kobiernice

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


Pisze jasno iż użytkownik:

ODBC nie ma dostępu. Na pewno podałaś dobre hasło oraz login? Sprawdź 3 razy.

Ten post edytował Armstrong 4.02.2011, 21:27:25


--------------------
// NOPE
Go to the top of the page
+Quote Post
osl
post 4.02.2011, 21:28:11
Post #13





Grupa: Zarejestrowani
Postów: 260
Pomógł: 41
Dołączył: 6.04.2009
Skąd: Gdańsk/okolice

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


ustawienia bazy danych, host, user/password - coś z tego musi być nie tak wink.gif
Go to the top of the page
+Quote Post
19Dziewczyna
post 4.02.2011, 21:39:50
Post #14





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 4.02.2011

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


Użytkownik Host Hasło Globalne uprawnienia 1 Nadawanie
pma localhost Nie USAGE Nie
root localhost Nie ALL PRIVILEGES Tak

Ten post edytował 19Dziewczyna 4.02.2011, 21:41:55
Go to the top of the page
+Quote Post
Armstrong
post 4.02.2011, 21:44:43
Post #15





Grupa: Zarejestrowani
Postów: 200
Pomógł: 40
Dołączył: 26.08.2009
Skąd: Kobiernice

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


ustaw jakieś hasło nie zostawiaj puste . A gdzie ODBC?

Ten post edytował Armstrong 4.02.2011, 21:45:10


--------------------
// NOPE
Go to the top of the page
+Quote Post
osl
post 4.02.2011, 21:44:44
Post #16





Grupa: Zarejestrowani
Postów: 260
Pomógł: 41
Dołączył: 6.04.2009
Skąd: Gdańsk/okolice

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


Cytat
Access denied for user 'ODBC'@'localhost'


Cytat
pma localhost Nie USAGE Nie
root localhost Nie ALL PRIVILEGES Tak


To jest użytkownik ODBC czy go nie ma? smile.gif
Go to the top of the page
+Quote Post
19Dziewczyna
post 4.02.2011, 21:45:59
Post #17





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 4.02.2011

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


ok inny problem ;D hmm powiedzmy

1)
  1. <?php
  2. define('SQL_HOST', 'localhost');
  3. define('SQL_USER', 'root'); //nazwa uzytkownika bazy danych
  4. define('SQL_PASS', ''); //haslo bazy danych
  5. define('SQL_DB', 'przyklad'); //nazwa bazy danych
  6.  
  7.  
  8.  
  9. //Funkcja laczaca sie z baza danych.
  10. function connect_to_db() {
  11. $db = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS) or die ('Nie moge sie polaczyc z baza danych: ' . mysql_error());
  12.  
  13. mysql_select_db(SQL_DB) or die('Nie moga wybrac bazy danych wystapil blad: ' . mysql_error());
  14.  
  15. mysql_query("SET NAMES 'utf8'");
  16. mysql_query('SET character_set_connection=utf8');
  17. mysql_query('SET character_set_client=utf8');
  18. mysql_query('SET character_set_results=utf8');
  19. }
  20.  
  21. // CLEAN - cleaning query czysci zapytania mysql zapobiega atakom SQLInjection
  22. function clean($query) {
  23. $query = stripslashes($query);
  24. }
  25. $query = mysql_real_escape_string($query);
  26. return $query;
  27. }
  28.  
  29. connect_to_db(); //laczymy sie z baza danych
  30. ?>
  31. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  32. <html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
  33. <head>
  34. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  35. <title>Skrypt dodajacy pracowników do bazy danych</title>
  36. </head>
  37. <body>
  38.  
  39.  
  40. <form method="POST" action="test.php">
  41. Id pracownika: <input type="text" name="id" maxlength="11" /> <br />
  42. Imię: <input type="text" name="imie" maxlength="20" /> <br />
  43. Nazwisko: <input type="text" name="nazwisko" maxlength="15" /> <br />
  44.  
  45. Płaca podstawowa: <input type="text" name="placa_pod" /> <br />
  46. Płaca dodatkowa: <input type="text" name="placa_dod" /> <br />
  47. ID Szefa: <select name="szef"> </br>
  48.  
  49.  
  50. <?php
  51. $q = "SELECT ID_PRAC FROM PRACOWNICY";
  52. $r = mysql_query ($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  53. $num = mysql_num_rows($r);
  54.  
  55. while ($row = mysql_fetch_array($r)) echo '<option>'. $row['ID_PRAC'] .'</option>';
  56.  
  57. ?>
  58. </select>
  59.  
  60. etat: <select name="etat" >
  61.  
  62. <?php
  63. $q = "SELECT ETAT FROM PRACOWNICY";
  64. $r = mysql_query ($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  65. //$num = mysql_num_rows($r);
  66.  
  67. while($row = mysql_fetch_array($r)) echo '<option value="'.$row['ETAT'].'">'. $row['ETAT'] .'</option>';
  68.  
  69. ?>
  70.  
  71.  
  72.  
  73.  
  74. </select>
  75. <input type="submit" name="Dodaj" value="Dodaj">
  76. </form>
  77.  
  78. <?php
  79.  
  80. //jesli formularz zostal wyslany to filtrujemy i dodajemy dane do bazy
  81.  
  82. if(isset($_POST['Dodaj'])) {
  83.  
  84. foreach ($_POST as $key => $value) $$key = clean($value); //filtrujemy dane i przypisujemy zmienne
  85.  
  86.  
  87.  
  88. // pobierz ID zespolu
  89. $q = "SELECT ID_ZESP FROM ZESPOLY WHERE NAZWA='$zespol'";
  90. $r = mysql_query ($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  91. $row = mysql_fetch_array($r);
  92. $id_zesp = $row['ID_ZESP'];
  93.  
  94.  
  95.  
  96. //wstawiamy dane do bazy
  97. if(!empty($id) && !empty($nazwisko) && !empty($imie)) {
  98. $q = "INSERT INTO PRACOWNICY (ID_PRAC, NAZWISKO, IMIE, ETAT, ID_SZEFA, ZATRUDNIONY, PLACA_POD, PLACA_DOD, ID_ZESP )
  99. VALUES ('$id', '$nazwisko', '$imie', '$etat', '$szef', NOW(), '$placa_pod', '$placa_dod', '$id_zesp')";
  100.  
  101. $r = mysql_query($q) or die("Zapytanie: $q\n<br />Błąd MySQL: " . mysql_error());
  102.  
  103. if(mysql_affected_rows() == 1) echo 'Dodanie rekordów wykonane poprawnie.<br>';
  104. else echo 'Błąd przy dodawaniu rekordów do bazy danych.<br>';
  105.  
  106.  
  107. }
  108. else echo 'Nie zdefiniowałeś wszystkich potrzebnych zmiennych aby dodać rekord do bazy danych.';
  109. foreach ($_POST as $key => $value) unset($$key); //kasujemy zmienne POST aby nie wysylac zbednych danych przy odswiezaniu strony
  110. }
  111. ?>
  112. </body>
  113. </html>




2)

  1.  
  2. <?php
  3.  
  4. define('SQL_HOST', 'localhost');
  5. define('SQL_USER', 'root'); //nazwa uzytkownika bazy danych
  6.  
  7. define('SQL_PASS', ''); //haslo bazy danych
  8.  
  9. define('SQL_DB', 'przyklad'); //nazwa bazy danych
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17. //Funkcja laczaca sie z baza danych.
  18.  
  19. function connect_to_db() {
  20.  
  21. $db = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS) or die ('Nie moge sie polaczyc z baza danych: ' . mysql_error());
  22.  
  23.  
  24.  
  25. mysql_select_db(SQL_DB) or die('Nie moga wybrac bazy danych wystapil blad: ' . mysql_error());
  26.  
  27.  
  28.  
  29. mysql_query("SET NAMES 'utf8'");
  30.  
  31. mysql_query('SET character_set_connection=utf8');
  32.  
  33. mysql_query('SET character_set_client=utf8');
  34.  
  35. mysql_query('SET character_set_results=utf8');
  36.  
  37. }
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45. // CLEAN - cleaning query czysci zapytania mysql zapobiega atakom SQLInjection
  46.  
  47. function clean($query) {
  48.  
  49.  
  50. $query = stripslashes($query);
  51.  
  52. }
  53.  
  54. $query = mysql_real_escape_string($query);
  55.  
  56. return $query;
  57.  
  58. }
  59.  
  60.  
  61. connect_to_db(); //laczymy sie z baza danych
  62.  
  63. ?>



i niiby wszystko ok jest a , jak patrze to do bazy danych nic nie dodaje sie

Ten post edytował 19Dziewczyna 4.02.2011, 21:51:34
Go to the top of the page
+Quote Post
Armstrong
post 4.02.2011, 21:49:24
Post #18





Grupa: Zarejestrowani
Postów: 200
Pomógł: 40
Dołączył: 26.08.2009
Skąd: Kobiernice

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


daj przed zapytaniem o dodanie danych echo $id; czy coś wyświetla.

i dodaj bbcode

a po za tym kod = niezła sieczka.

Ten post edytował Armstrong 4.02.2011, 21:57:43


--------------------
// NOPE
Go to the top of the page
+Quote Post
19Dziewczyna
post 4.02.2011, 21:52:32
Post #19





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 4.02.2011

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


o maasakra:D można dokładniej;P heh gdzie co w którym miejscu ;d dla mnie to czarna magia ;P
Go to the top of the page
+Quote Post
Armstrong
post 4.02.2011, 21:54:27
Post #20





Grupa: Zarejestrowani
Postów: 200
Pomógł: 40
Dołączył: 26.08.2009
Skąd: Kobiernice

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


w linie 96 wpisz echo $imie;

i zobacz czy coś wyświetliło konkretniej imię wpisane w formularz

Ten post edytował Armstrong 4.02.2011, 21:55:12


--------------------
// NOPE
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 20.06.2025 - 22:25