Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] jak przekazać zmienną do kolejnego pliku, mam mały problem
Immanuel
post 17.01.2007, 21:06:50
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 9.09.2005
Skąd: Lubin

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


Próbuję zrobić UPDATE rekordu w bazie.
Napisałem coś takiego:

  1. <HTML>
  2. <HEAD>
  3. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  4. <meta http-equiv="Content-Language" content="pl">
  5. <LINK href="style.css" type=text/css rel=StyleSheet>
  6. <TITLE>Przeglądaj Bazę Danych</TITLE>
  7. </HEAD>
  8. <BODY>
  9. <? 
  10. $id=$_POST['xxxx']; // tutaj mam przypisaną liczbę...
  11.  
  12. echo '
  13.  
  14. <center><h4>Dokonaj korekty wybranego rekordu</h4></center>
  15.  
  16. <center><table width=600 bgcolor=#444444>
  17. <tr><td width=200>
  18. <form action=edycja2.php method=post>
  19. Podaj imie: </td><td width=300><input type=text name=imie maxlenght=100 size=50></td></tr>
  20. <tr><td width=200>Podaj tytuł nazwisko: </td><td width=300><input type=text name=nazwisko maxlenght=100 size=50></td></tr>
  21. <tr><td width=200>Podaj notatki: </td><td width=300><input type=text name=notatki maxlenght=100 size=50></td></tr>
  22. <tr><td width=200>Id </td><td width=300><input type=radio name=id value=$id></td></tr>
  23. <tr><td width=200>&nbsp;</td><td width=300><input type=submit value=ZAPISZ></td></tr>
  24. </form>
  25. </table></center>
  26.  
  27. ';
  28.  
  29. ?>
  30.  
  31. </BODY>
  32. </HTML>


i skrypt:

  1. <html>
  2. <head>
  3. <title> Dodawanie rekordów do bazy </title>
  4. </head>
  5. <body>
  6. <?php
  7. $imie=$_POST['imie'];
  8. $nazwisko=$_POST['nazwisko'];
  9. $notatki=$_POST['notatki'];
  10. $id=$_POST['id'];
  11.  
  12. if (!$imie || !$nazwisko || !$notatki || !$id)
  13. {
  14. echo "Nie podano wszystkich potrzebnych danych.<br>
  15. Wróć do poprzedniej strony i spróbuj ponownie.";
  16. }
  17.  
  18. {
  19. $imie = addslashes($imie);
  20. $nazwisko = addslashes($nazwisko);
  21. $notatki = addslahes($notatki);
  22. $id = addslashes($id);
  23. }
  24.  
  25. mysql_connect ("localhost","root","krasnal") or
  26. die ("Nie można połączyć się z MySQL");
  27. mysql_select_db ("dziennik") or
  28. die ("Nie można połączyć się z Bazą Dziennik");
  29.  
  30. $zapytanie = "UPDATE uczen SET imie='$imie' nazwisko='$nazwisko' notatki='$notatki' WHERE id='$id' LIMIT 1";
  31. $wynik = mysql_query($zapytanie);
  32. if ($wynik)
  33. {
  34. echo 'Korekta dokonana.<br><a href=admin_wprowadz_korekty.php>Powrót do korekt</a>';
  35. }
  36. else
  37. {
  38. echo 'Błąd podczas wykonywania..';
  39. }
  40.  
  41. ?>
  42.  
  43. </body>
  44. </html>


1) Po pierwsze to cały czas wyskakuje błąd podczas wykonywania.
2) Czy nie da się zmiennej $id w lepszy sposób przekazać do skryptu ?


--------------------
Immanuel, pozdrawiam
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
maryaan
post 17.01.2007, 21:53:13
Post #2





Grupa: Zarejestrowani
Postów: 380
Pomógł: 2
Dołączył: 5.01.2007

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


1. wstaw do posta tresc bledu
2. da sie,
  1. <input type="hidden" value="lolololol">

3. robisz edycje rekordu wiec pasowaloby wstawiac do pol wartosci ktore juz wczesniej byly zapisane (to akurat malo wazne)
4. teraz juz widze co masz zle, tabele wyswietlasz w '' i $id jest przekazywane jako lancuch $id a nie jako jego wartosc
5. tak chyba ladniej wyglada? snitch.gif
  1. <HEAD>
  2. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  3. <meta http-equiv="Content-Language" content="pl">
  4. <LINK href="style.css" type=text/css rel=StyleSheet>
  5. <style type="text/css">
  6. h4 {
  7. text-align: center;
  8. }
  9.  
  10. table {
  11. background-color: #444444;
  12. width: 600px;
  13. margin: 0 auto 0 auto;
  14. }
  15. td:first-child{
  16. width: 200px;
  17. }
  18. </style>
  19. <TITLE>Przeglądaj Bazę Danych</TITLE>
  20. </HEAD>
  21. <BODY>
  22. <?
  23. $id=$_POST['xxxx']; // tutaj mam przypisan&#261; liczb&#281;...
  24.  
  25. echo '
  26. <h4>Dokonaj korekty wybranego rekordu</h4>
  27. <form action=edycja2.php method=post>
  28. <input type=hidden name=id value="'.$id.'">
  29. <tr>
  30. <td>
  31. Podaj imie:
  32. </td>
  33. <td>
  34. <input type=text name=imie maxlenght=100 size=50>
  35. </td>
  36. </tr>
  37. <tr>
  38. <td>
  39. Podaj tytuł nazwisko:
  40. </td>
  41. <td>
  42. <input type=text name=nazwisko maxlenght=100 size=50>
  43. </td>
  44. </tr>
  45. <tr>
  46. <td>
  47. Podaj notatki:
  48. </td>
  49. <td>
  50. <input type=text name=notatki maxlenght=100 size=50>
  51. </td>
  52. </tr>
  53. <tr>
  54. <td>
  55. <input type=submit value=ZAPISZ>
  56. </td>
  57. </tr>
  58.  
  59. </form>
  60. ';
  61.  
  62. ?>
  63.  
  64. </BODY>
  65. </HTML>
tabulatory sie rozjezdzaja troche ale wiadomo ocb

Ten post edytował maryaan 17.01.2007, 21:58:03


--------------------
Wybierasz się do Zakopanego? Odwiedź Willę Pod Górami. Następnym razem na pewno do niej wrócisz :)
Go to the top of the page
+Quote Post
Immanuel
post 17.01.2007, 22:27:31
Post #3





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 9.09.2005
Skąd: Lubin

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


dalej wyskakuje ten sam błąd:
"Błąd podczas wykonywania.."

coś w skrypcie może jest nie tak:
  1. <html>
  2. <head>
  3. <title> Dodawanie rekordów do bazy </title>
  4. </head>
  5. <body>
  6. <?php
  7. $imie=$_POST['imie'];
  8. $nazwisko=$_POST['nazwisko'];
  9. $notatki=$_POST['notatki'];
  10. $id=$_POST['id'];
  11.  
  12. if (!$imie || !$nazwisko || !$notatki || !$id)
  13. {
  14. echo "Nie podano wszystkich potrzebnych danych.<br>
  15. Wróć do poprzedniej strony i spróbuj ponownie.";
  16. }
  17.  
  18. {
  19. $imie = addslashes($imie);
  20. $nazwisko = addslashes($nazwisko);
  21. $notatki = addslahes($notatki);
  22. $id = addslashes($id);
  23. }
  24.  
  25. mysql_connect ("localhost","root","krasnal") or
  26. die ("Nie można połączyć się z MySQL");
  27. mysql_select_db ("dziennik") or
  28. die ("Nie można połączyć się z Bazą Dziennik");
  29.  
  30. $zapytanie = "UPDATE uczen SET imie='$imie' nazwisko='$nazwisko' notatki='$notatki' WHERE id='$id' LIMIT 1";
  31. $wynik = mysql_query($zapytanie);
  32. if ($wynik)
  33. {
  34. echo 'Korekta dokonana.<br><a href=admin_wprowadz_korekty.php>Powrót do korekt</a>';
  35. }
  36. else
  37. {
  38. echo 'Błąd podczas wykonywania..';
  39. }
  40.  
  41. ?>
  42.  
  43. </body>
  44. </html>


--------------------
Immanuel, pozdrawiam
Go to the top of the page
+Quote Post
maryaan
post 17.01.2007, 22:42:49
Post #4





Grupa: Zarejestrowani
Postów: 380
Pomógł: 2
Dołączył: 5.01.2007

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


po tym jak przepisujesz zmienne z tablicy $_POST, wyswietl sobie te wszystkie cztery zmienne (echo $imie.'<br>'.$nazwisko. itd...) i przed linijka $wynik = mysql_query($zapytanie);[/php] wstaw
Kod
]<?php
echo $zapytanie;
?>
i skopiuj cale zapytanie ktore sie wyswietli

Ten post edytował maryaan 17.01.2007, 22:44:56


--------------------
Wybierasz się do Zakopanego? Odwiedź Willę Pod Górami. Następnym razem na pewno do niej wrócisz :)
Go to the top of the page
+Quote Post
Immanuel
post 17.01.2007, 22:45:28
Post #5





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 9.09.2005
Skąd: Lubin

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


Marcin
Kowalski
Ma problemy z matmą.
1

UPDATE uczen SET imie='Marcin' nazwisko='Kowalski' notatki='Ma problemy z matmą.' WHERE id='1' LIMIT 1

Błšd podczas wykonywania..

Ten post edytował Immanuel 17.01.2007, 22:48:41


--------------------
Immanuel, pozdrawiam
Go to the top of the page
+Quote Post
maryaan
post 17.01.2007, 23:04:44
Post #6





Grupa: Zarejestrowani
Postów: 380
Pomógł: 2
Dołączył: 5.01.2007

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


zmien ta linie z wykonaniem zapytania w ten sposob
Kod
$wynik = mysql_query($zapytanie) or die(mysql_error());

i odpal strone


--------------------
Wybierasz się do Zakopanego? Odwiedź Willę Pod Górami. Następnym razem na pewno do niej wrócisz :)
Go to the top of the page
+Quote Post
Immanuel
post 17.01.2007, 23:06:26
Post #7





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 9.09.2005
Skąd: Lubin

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


Something is wrong in your syntax obok 'nazwisko='Nowakowski' notatki='Ma problemy z matmą.' WHERE id='1' w linii 1


--------------------
Immanuel, pozdrawiam
Go to the top of the page
+Quote Post
mike
post 17.01.2007, 23:07:03
Post #8





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(Immanuel @ 17.01.2007, 22:45:28 ) *
UPDATE uczen SET imie='Marcin' nazwisko='Kowalski' notatki='Ma problemy z matmą.' WHERE id='1' LIMIT 1

A powinno być:
UPDATE uczen SET imie='Marcin', nazwisko='Kowalski', notatki='Ma problemy z matmą.' WHERE id='1' LIMIT 1

~Immanuel ten wątek Najczęstsze błędy, Zanim zapytasz, to sprawdź. powstał między innymi dla Ciebie. (szczególnie 2. Problemy z zapytaniem SQL)
Gdybyś zadał sobie trud przeczytania go to zlokalizowanie problemu zajęło by Ci minutę.
Go to the top of the page
+Quote Post
Immanuel
post 17.01.2007, 23:08:44
Post #9





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 9.09.2005
Skąd: Lubin

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


mike_mech, dziękuję smile.gif
wszysto śmiga


--------------------
Immanuel, pozdrawiam
Go to the top of the page
+Quote Post
maryaan
post 17.01.2007, 23:11:05
Post #10





Grupa: Zarejestrowani
Postów: 380
Pomógł: 2
Dołączył: 5.01.2007

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


heh glupek ze mnie, przeciez nie masz przecinkow miedzy kolejnymi polami

edit no wlasnie smile.gif

Ten post edytował maryaan 17.01.2007, 23:11:34


--------------------
Wybierasz się do Zakopanego? Odwiedź Willę Pod Górami. Następnym razem na pewno do niej wrócisz :)
Go to the top of the page
+Quote Post
Immanuel
post 18.01.2007, 14:31:45
Post #11





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 9.09.2005
Skąd: Lubin

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


  1. <HTML>
  2. <HEAD>
  3. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  4. <meta http-equiv="Content-Language" content="pl">
  5. <LINK href="style.css" type=text/css rel=StyleSheet>
  6. <TITLE>Nowa Lekcja</TITLE>
  7. </HEAD>
  8. <BODY>
  9. <? 
  10.  
  11. $id_nauczyciel=$_POST['nauczyciel'];
  12. $klasa=$_POST['xxxx'];
  13.  
  14. echo "Nauczyciel " . "$id_nauczyciel";
  15. echo "<br>Klasa " . "$klasa";
  16.  
  17.  
  18. mysql_connect ("localhost", "root", "krasnal") or 
  19. die ("Nie można połączyć się z MySQL");
  20. mysql_select_db ("dziennik") or 
  21. die ("Nie można połączyć się z bazą.");
  22.  
  23.  $wynik = mysql_query ("SELECT * FROM uczen") or 
  24. die ("błąd w pytaniu");
  25.  
  26. print "<center>Sprawdz obecnosc:</center><br><center><form action=nauczyciel_nowa_lekcja3.php method=post><TABLE CELLPADDING=5 BORDER=1><TR><td>Id</td><TD>Imie</TD><TD>Nazwisko</TD><TD>Zaznacz</TD></TR>n";
  27.  
  28. while ($rekord = mysql_fetch_array ($wynik)) {
  29. $id = $rekord[0];
  30. $imie = $rekord[1];
  31. $nazwisko = $rekord[2];
  32. $stopien = $rekord[3];
  33. $id_przedmiotu = $rekord[4];
  34.  
  35.  
  36. print "<TR><td>&nbsp;$id</td><TD>&nbsp;$imie</TD><TD>&nbsp;$nazwisko</TD><td><input type=checkbox checked=checked name=xxxx value=$id>&nbsp;</td></TR>n";
  37. }
  38.  
  39. print "</TABLE>
  40. <input type=submit value=ZAPISZ></form></center>";
  41.  
  42. ?>
  43.  
  44. </BODY>
  45. </HTML>


wartość xxxx zwraca mi tylko ostatnią znaną wartość
jak przez submit zapisać do zmiennych tylko te zmienne, które będą checked ?
chodzi tutaj o sprawdzenie obecności
jeżeli coś będzie odznaczone to znaczy, że go nie ma na zajęciach
domyślnie są zaznaczone
np. żeby wynik był taki:
1 - 1
2 - 1
3 - 1
4 - 0
5 - 1
...
gdzie
1 - obecny
0 - nieobecny


--------------------
Immanuel, pozdrawiam
Go to the top of the page
+Quote Post
Cienki1980
post 18.01.2007, 14:59:56
Post #12





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Spróbuj może tak :
  1. <input type=checkbox checked=checked name=xxxx[$id] value=$id>


W wyniku dostaniesz tablicę z taką ilością elementów ile masz wierszy.


--------------------
404
Go to the top of the page
+Quote Post
Immanuel
post 18.01.2007, 20:05:49
Post #13





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 9.09.2005
Skąd: Lubin

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


  1. <HTML>
  2. <HEAD>
  3. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  4. <meta http-equiv="Content-Language" content="pl">
  5. <LINK href="style.css" type=text/css rel=StyleSheet>
  6. <TITLE>Nowa Lekcja</TITLE>
  7. </HEAD>
  8. <BODY>
  9. <? 
  10.  
  11.  
  12. $id_nauczyciel=$_POST['xxxx'];
  13.  
  14.  
  15. $db = new mysqli ('localhost'.'dziennik'.'ocena_obecnosc');
  16.  
  17.  
  18. if (mysqli_connect_errno())
  19. {
  20.  
  21. echo 'Błąd: połączenie z bazą danych nie powiodło się.';
  22. }
  23.  
  24. $zapytanie = "INSERT INTO ocena_obecnosc values ('','$id_nauczyciel')";
  25.  
  26.  
  27. $wynik = $db->query($zapytanie);
  28. if ($wynik)
  29. echo $db->affected_rows . 'Informacja dodana do bazy.';
  30.  
  31.  
  32. ?>
  33.  
  34. </BODY>
  35. </HTML>


Fatal error: Class 'mysqli' not found in c:\usr\apache\httpd\html\dziennik\nauczyciel_nowa_lekcja1.php on line 15

o co biega ?


--------------------
Immanuel, pozdrawiam
Go to the top of the page
+Quote Post
mike
post 18.01.2007, 20:07:31
Post #14





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Biblioteka MySQL Improved Extension nie jest standardowo instalowana do php.
Zainstaluj sobie lub jeśli masz serwer u kogoś to poproś admina.
Go to the top of the page
+Quote Post
Immanuel
post 21.01.2007, 19:30:16
Post #15





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 9.09.2005
Skąd: Lubin

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


  1. <?php
  2. $id_nauczyciel=$_POST['wybor_nauczyciela'];
  3. echo "$id_nauczyciel";
  4. $id_klasa=$_POST['wybor_klasy'];
  5. echo "<br>" . "$id_klasa";
  6. $temat=$_POST['temat'];
  7. echo "<br>" . "$temat";
  8. $data=$_POST['data'];
  9. echo "<br>" . "$data";
  10. $notatki=$_POST['notatki'];
  11. echo "<br>" . "$notatki";
  12.  
  13.  
  14. mysql_connect ("localhost", "root", "krasnal") or 
  15. die ("Nie można połączyć się z MySQL");
  16. mysql_select_db ("dziennik") or 
  17. die ("Nie można połączyć się z bazą.");
  18.  
  19. $sql_zap = mysql_query ("INSERT INTO lekcja
  20. (id,id_nauczyciel,id_przedmiot,id_klasa,data,temat,notatki)
  21. values
  22. ('','$id_nauczyciel','$id_nauczyciel','$id_klasa','$data','$temat','$notatki')")
  23. or die ("bład w pytaniu sprawdz.php");
  24. ?>


dlaczego wyskakuje:
Kod
bład w pytaniu sprawdz.php


?

Dodam tylko, że na początku specjalnie wypisałem zmienne, żeby sprawdzić, czy wszystko zostało poprawnie odczytane z bazy.

Ten post edytował Immanuel 21.01.2007, 19:45:00


--------------------
Immanuel, pozdrawiam
Go to the top of the page
+Quote Post
Cienki1980
post 21.01.2007, 20:05:05
Post #16





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Wyświetl zapytanie i zobacz czy w zapytaniu wszystko jest OK.


--------------------
404
Go to the top of the page
+Quote Post
Immanuel
post 21.01.2007, 20:17:06
Post #17





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 9.09.2005
Skąd: Lubin

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


  1. <?php
  2. $row = mysql_fetch_array($sql_zap);
  3. echo '<pre>';
  4. print_r($row);
  5. echo '</pre>';
  6. ?>


nic się nie wyświetla

Ten post edytował Immanuel 21.01.2007, 20:17:19


--------------------
Immanuel, pozdrawiam
Go to the top of the page
+Quote Post
Cienki1980
post 21.01.2007, 20:19:09
Post #18





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Zapytanie ... czyli $sql_zap a nie wynik tego zapytania dry.gif


--------------------
404
Go to the top of the page
+Quote Post
Immanuel
post 21.01.2007, 20:33:11
Post #19





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 9.09.2005
Skąd: Lubin

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


Kod
INSERT INTO lekcja(id, id_nauczyciel, id_przedmiot, id_klasa, data, temat, notatki)
                       VALUES ('', '7', '7', '4', '21-01-2007', 'Obliczanie ułamków.', 'Dokończyć mnożenie ułamków.')


Takie coś się wyświetla.


--------------------
Immanuel, pozdrawiam
Go to the top of the page
+Quote Post
maryaan
post 21.01.2007, 20:58:19
Post #20





Grupa: Zarejestrowani
Postów: 380
Pomógł: 2
Dołączył: 5.01.2007

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


zamiast "or die("blad blablabla")" daj "or die(mysql_error());"
tematy przyklejone naprawde nie sa tylko po to zeby zajmowaly miejsce na forum :]


--------------------
Wybierasz się do Zakopanego? Odwiedź Willę Pod Górami. Następnym razem na pewno do niej wrócisz :)
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Closed 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: 14.08.2025 - 06:38