Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> formularz a zmienne, które zmienne są dobre
BugsBunny
post 7.06.2005, 11:46:06
Post #1





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


  1. <?php
  2. echo &#092;"
  3. <form action= &#092;"?akcja=edycja2&id=\".$id.\"\" method=\"POST\">
  4. <input type=&#092;"text\" name=\"naglowek_1\" value=\"\".$b['naglowek'].\"\" size=\"77\"><br>
  5. <textarea name=&#092;"tresc_1\" wrap=\"virtual\" cols=\"60\" rows=\"20\">\".$b['tresc'].\"</textarea><br>
  6. <input type=&#092;"submit\" value=\"OK\">
  7. </form>&#092;";
  8. ?>

NO jest formularz który ma edytować dane z Bazy danych. Wyświetla on stare dane zmiennymi $b[''] i wszystko jest pięknie ale.....
Kiedy wcisnę przycisk OK formularz chyba nie przypisuje nowych danych od zmiennych
$tresc_1 i $naglowek_1 przez co po wciśniećiu OK zamiast zmiany danych na nowe w tabeli są usunięte stare tj JAKBY DODAWAŁ PUSTE ZMIENNE

co z tymi zmiennymi questionmark.gifquestionmark.gifquestionmark.gif
Go to the top of the page
+Quote Post
nospor
post 7.06.2005, 11:49:13
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a jak ty odbierasz ten formularz i robisz update?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
BugsBunny
post 7.06.2005, 11:54:06
Post #3





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


  1. <?php
  2. if ($_GET['akcja'] == 'edycja') {
  3. $id = intval($_GET['id']);
  4. include &#092;"dane.php\";
  5. $id_polaczenia = mysql_connect($db_host,$db_user,$db_pass) or die (&#092;"nieudane połącznie z bazą danych\");
  6. $connect = mysql_select_db (&#092;"blog\", $id_polaczenia);
  7. $a = mysql_query(&#092;"SELECT * FROM blog WHERE id='$id'\");
  8. $b = mysql_fetch_array($a)or die (&#092;"błąd\");
  9.  
  10.  
  11. echo &#092;"
  12. <form action= &#092;"?akcja=edycja2&id=\".$id.\"\" method=\"POST\">
  13. <input type=&#092;"text\" name=\"naglowek_1\" value=\"\".$b['naglowek'].\"\" size=\"77\"><br>
  14. <textarea name=&#092;"tresc_1\" wrap=\"virtual\" cols=\"60\" rows=\"20\">\".$b['tresc'].\"</textarea><br>
  15. <input type=&#092;"submit\" value=\"OK\">
  16. </form>&#092;";
  17.  
  18. echo &#092;"$naglowek_1 |i| $tresc_1\";
  19. global $naglowek_1,$tresc_1,$id;
  20. if (isset ($aglowek_1,$tresc_1)){
  21.  
  22.  
  23. $edytuj_1 = &#092;"UPDATE blog SET naglowek='$naglowek_1', tresc='$tresc_1' WHERE id='$id'\";
  24. $edytuj_k = mysql_query($edytuj_1) or die (mysql_error());
  25. echo &#092;"dane zostały pomyślnie zmienione\";
  26. }
  27. ?>


TAK BY TO WYGLĄDAŁO biggrin.gif
Go to the top of the page
+Quote Post
nospor
post 7.06.2005, 12:04:26
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




pobierz naglowek i tresc z $_POST. a nie tak jak teraz z powietrza (pewnie masz wylaczone register_globals)


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
BugsBunny
post 7.06.2005, 12:12:44
Post #5





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


  1. <?php
  2. echo &#092;"
  3. <form action= &#092;"?akcja=edycja2&id=\".$id.\"\" method=\"POST\">
  4. <input type=&#092;"text\" name=\"naglowek_1\" value=\"\".$b['naglowek'].\"\" size=\"77\"><br>
  5. <textarea name=&#092;"tresc_1\" wrap=\"virtual\" cols=\"60\" rows=\"20\">\".$b['tresc'].\"</textarea><br>
  6. <input type=&#092;"submit\" value=\"OK\">
  7. </form>&#092;";
  8. $_POST['$naglowek_1']= $naglowek_1;
  9. $_POST['tresc_1'] = $tresc_1;
  10.  
  11.  
  12.  
  13.  
  14. $edytuj_1 = &#092;"UPDATE blog SET naglowek='$naglowek_1', tresc='$tresc_1' WHERE id='$id'\";
  15. $edytuj_k = mysql_query($edytuj_1) or die (mysql_error());
  16. echo &#092;"dane zostały pomyślnie zmienione\";
  17. ?>

TAK TO MA BYĆ questionmark.gifquestionmark.gif bo też mi niedziała

niesterty jeszcze się nie znam na tych global, sesiach i $_GET,$_POST
P.S. czym one się różnią
Go to the top of the page
+Quote Post
nospor
post 7.06.2005, 12:14:55
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




odwrotnie:
  1. <?php
  2.  
  3. if (!empty($_POST))
  4. {
  5. $naglowek_1=$_POST['$naglowek_1'];
  6. $tresc_1=$_POST['tresc_1'];
  7. //....tutaj update robisz
  8. }
  9.  
  10. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
BugsBunny
post 7.06.2005, 12:26:47
Post #7





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


ja coś problemowy jestem NIC SI NIE ZMIENIA dry.gif
  1. <?php
  2. if ($_GET['akcja'] == 'edycja') {
  3. $id = intval($_GET['id']);
  4. include &#092;"dane.php\";
  5. $id_polaczenia = mysql_connect($db_host,$db_user,$db_pass) or die (&#092;"nieudane połącznie z bazą danych\");
  6. $connect = mysql_select_db (&#092;"blog\", $id_polaczenia);
  7. $a = mysql_query(&#092;"SELECT * FROM blog WHERE id='$id'\");
  8. $b = mysql_fetch_array($a)or die (&#092;"błąd\");
  9.  
  10.  
  11. echo &#092;"
  12. <form action= &#092;"?akcja=edycja2&id=\".$id.\"\" method=\"POST\">
  13. <input type=&#092;"text\" name=\"naglowek_1\" value=\"\".$b['naglowek'].\"\" size=\"77\"><br>
  14. <textarea name=&#092;"tresc_1\" wrap=\"virtual\" cols=\"60\" rows=\"20\">\".$b['tresc'].\"</textarea><br>
  15. <input type=&#092;"submit\" value=\"OK\">
  16. </form>&#092;";
  17. if ($_GET['akcja'] == 'edycja2')
  18. $id = intval($_GET['id']);
  19. if (!empty($_POST))
  20. {
  21. $naglowek_1=$_POST['$naglowek_1'];
  22. $tresc_1=$_POST['tresc_1'];
  23.  
  24.  
  25. $edytuj_1 = &#092;"UPDATE blog SET naglowek='$naglowek_1', tresc='$tresc_1' WHERE id='$id'\";
  26. $edytuj_k = mysql_query($edytuj_1) or die (mysql_error());
  27. echo &#092;"dane zostały pomyślnie zmienione\";
  28. header(&#092;"location: sprawdz.php\");
  29. }
  30. }
  31. ?>


cały kod który edytuje zawartość tabelki aarambo.gif lecz który niespełnia swych powinności blink.gif
Go to the top of the page
+Quote Post
nospor
post 7.06.2005, 12:32:15
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




On ci wogole nie wchodzi w update spowodu tego:
if ($_GET['akcja'] == 'edycja') {

ty w tego if'a wkaldasz caly skrypt. A przecież po wyslaniu forumlarza akcja ma wartość edycja2


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
BugsBunny
post 7.06.2005, 12:35:55
Post #9





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


nie no to chyba jest dobrze mam mam sobie
  1. <?php
  2. <a href=&#092;"?akcja=edycja&id=\".$id.\"\"> Edytuj </a> 
  3. ?>

i jak go wcisnę do mi się otwiera dopiero forularz ze tego poprzedniego a więc włącza się .

TUTAJ MUSI BYĆ COŚ ŹLE
  1. <?php
  2. if ($_GET['akcja'] == 'edycja2')
  3. $id = intval($_GET['id']);
  4. if (!empty($_POST))
  5. {
  6. $naglowek_1=$_POST['$naglowek_1'];
  7. $tresc_1=$_POST['tresc_1'];
  8. ?>
Go to the top of the page
+Quote Post
nospor
post 7.06.2005, 12:47:02
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ty nie sluchasz tego co mówię, a raczej tego co piszę nei czytasz!!!
Masz if'a na caly ten skrypt że niby akcja ma się równać edycja. No i ok. Ale jak zrobisz submit na formularzu to akcja ci się zmienia na edycja2 i wogole nie wejdze w tego ifa. muszisz np. dodac jeszcze jeden warunek
if ($_GET['akcja'] == 'edycja' || $_GET['akcja'] == 'edycja2') {


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
BugsBunny
post 7.06.2005, 13:32:10
Post #11





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


  1. <?php
  2. if ($_GET['akcja'] == 'edycja') {
  3. $id = intval($_GET['id']);
  4. include &#092;"dane.php\";
  5. $id_polaczenia = mysql_connect($db_host,$db_user,$db_pass) or die (&#092;"nieudane połącznie z bazą danych\");
  6. $connect = mysql_select_db (&#092;"blog\", $id_polaczenia);
  7. $a = mysql_query(&#092;"SELECT * FROM blog WHERE id='$id'\");
  8. $b = mysql_fetch_array($a)or die (&#092;"błąd\");
  9.  
  10.  
  11. echo &#092;"
  12. <form action= &#092;"?akcja=edycja2&id=\".$id.\"\" method=\"POST\">
  13. <input type=&#092;"text\" name=\"naglowek_1\" value=\"\".$b['naglowek'].\"\" size=\"77\"><br>
  14. <textarea name=&#092;"tresc_1\" wrap=\"virtual\" cols=\"60\" rows=\"20\">\".$b['tresc'].\"</textarea><br>
  15. <input type=&#092;"submit\" value=\"OK\">
  16. </form>&#092;";
  17. echo &#092;"1\";
  18. if ($_GET['akcja'] == 'edycja2' || $_GET['akcja'] == 'edycja')
  19. $id = intval($_GET['id']);
  20. echo &#092;"2\";
  21.  
  22. echo &#092;"3\";
  23. $naglowek_1=$_POST['$naglowek_1'];
  24. $tresc_1=$_POST['tresc_1'];
  25. echo &#092;"$naglowek_1  i $tresc_1\";
  26.  
  27. $edytuj_1 = &#092;"UPDATE blog SET naglowek='$naglowek_1', tresc='$tresc_1' WHERE id='$id'\";
  28. $edytuj_k = mysql_query($edytuj_1) or die (mysql_error());
  29. echo &#092;"dane zostały pomyślnie zmienione\";
  30.  
  31.  
  32. }
  33. ?>


DODAŁEM ECHO z cyframi żeby widzeć co się wykonuje - no i się wszystko wykonuje 1,2,3 ale z tego | echo "$naglowek_1 i $tresc_1"; | wyświetla tylko | i | angrysmiley.gif
już mnie to zaczyna denerwować - zostało mi tylko to żeby skończyć angrysmiley.gif
Go to the top of the page
+Quote Post
L_Devil
post 7.06.2005, 13:36:46
Post #12





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 13.04.2004
Skąd: Łódź

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


Linia 25:

Masz:
  1. <?php
  2. $naglowek_1=$_POST['$naglowek_1'];
  3. ?>


Powinno być:
  1. <?php
  2. $naglowek_1=$_POST['naglowek_1'];
  3. ?>
(bez znaku dolara przed 'naglowek_1')


--------------------
Językiem którym najlepiej operują wszyscy programiści są przekleństwa.
Go to the top of the page
+Quote Post
BugsBunny
post 7.06.2005, 13:39:41
Post #13





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


I tak wpisywane zmienne do bazy danych są puste ;/
Go to the top of the page
+Quote Post
L_Devil
post 7.06.2005, 13:41:24
Post #14





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 13.04.2004
Skąd: Łódź

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


dodaj na końcu
  1. <?php
  2. print_r($_POST);
  3. ?>
i powiedz co napisało.


--------------------
Językiem którym najlepiej operują wszyscy programiści są przekleństwa.
Go to the top of the page
+Quote Post
nospor
post 7.06.2005, 13:41:45
Post #15





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




stary, ty nie czytasz tego co piszę. masz tu gotowy skrypt bo szalu dostane:
  1. <?php
  2.  
  3. if ($_GET['akcja'] == 'edycja' || $_GET['akcja'] == 'edycja2') {
  4.   $id = intval($_GET['id']);
  5. include &#092;"dane.php\";
  6.   $id_polaczenia = mysql_connect($db_host,$db_user,$db_pass) or die (&#092;"nieudane połącznie z bazą danych\");
  7. $connect = mysql_select_db (&#092;"blog\", $id_polaczenia);
  8. $a = mysql_query(&#092;"SELECT * FROM blog WHERE id='$id'\");
  9. $b = mysql_fetch_array($a)or die (&#092;"błąd\");
  10.  
  11.  
  12. echo &#092;"
  13. <form action= &#092;"?akcja=edycja2&id=\".$id.\"\" method=\"POST\">
  14. <input type=&#092;"text\" name=\"naglowek_1\" value=\"\".$b['naglowek'].\"\" size=\"77\"><br>
  15. <textarea name=&#092;"tresc_1\" wrap=\"virtual\" cols=\"60\" rows=\"20\">\".$b['tresc'].\"</textarea><br>
  16. <input type=&#092;"submit\" value=\"OK\">
  17. </form>&#092;";
  18. echo &#092;"1\";
  19. if ($_GET['akcja'] == 'edycja2')
  20. {
  21.   $id = intval($_GET['id']);
  22.   echo &#092;"2\";
  23.  
  24. echo &#092;"3\";
  25. $naglowek_1=$_POST['naglowek_1'];
  26. $tresc_1=$_POST['tresc_1'];
  27. echo &#092;"$naglowek_1   i $tresc_1\";
  28.  
  29. $edytuj_1 = &#092;"UPDATE  blog  SET naglowek='$naglowek_1', tresc='$tresc_1' WHERE id='$id'\";
  30. $edytuj_k = mysql_query($edytuj_1) or die (mysql_error());
  31. echo &#092;"dane zostały pomyślnie zmienione\";
  32. }
  33.  
  34. }
  35.  
  36. ?>


edit: warunek na akcja2 na poczatku skryptu miales dac a nie w srodku, kiedy do niego nie wchodzi.Przytwoim zapisie wypisywalo ci 123 i bo przed wyslanie mformularza tam wchodzil, ale dane z posta byly puste. po wyslaniu formularza akcja ci sie zmienila i nic ci wtedy nie wyswietlal bo nie wszedl w ten warunek

Ten post edytował nospor 7.06.2005, 13:44:29


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
BugsBunny
post 7.06.2005, 13:45:28
Post #16





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


NARESZCIE DZIAŁA DZIKI moge kończyć swoją prace smile.gif



---------------------------------------------------------------------------------------------------

a jak chce zrobić żeby po zmianie danych spowtorem przekierowało mnie na strone sprawdz.php a nie sprawdz.php?akcja.....

  1. <?
  2. header (&#092;"location: sprawdz.php\");
  3. ?>

bo to nie działa nie mozę przejść do tego samgo pliku chyba i pokazuje to
Kod
Warning: Cannot modify header information - headers already sent by (output started at c:\usr\krasnal\www\blog2\sprawdz.php:2) in c:\usr\krasnal\www\blog2\sprawdz.php on line 80


Ten post edytował BugsBunny 7.06.2005, 13:51:53
Go to the top of the page
+Quote Post
nospor
post 7.06.2005, 13:46:52
Post #17





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Następnym razem analizuj troche dokladniej co ci mówią. Do kontroli bledów używaj chociażby zwyklego echo prze warunkiem, po warunku. Trochę samodzielności


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
strife
post 7.06.2005, 14:00:24
Post #18





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat(BugsBunny @ 2005-06-07 14:45:28)
Kod
Warning: Cannot modify header information - headers already sent by (output started at c:\usr\krasnal\www\blog2\sprawdz.php:2) in c:\usr\krasnal\www\blog2\sprawdz.php on line 80

Masz w tym pliku jakąś zbędną spację na początku, a nie powinno nic być. Jeśli to nie pomorze to ob_start" title="Zobacz w manualu PHP" target="_manual na początku powinno pomóc...


--------------------
Go to the top of the page
+Quote Post
Ociu
post 7.06.2005, 14:01:21
Post #19





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




http://php.pl/artykuly/dla_poczatkujacych/...ch_programistow
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: 1.07.2025 - 16:27