Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> php/mysql -> wrzucanie danych z bazy do formularza, wpisywanie danych przez formualrz i je wyslwietlanie
snaiper
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 20.12.2004

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


witam

mam maly problem

wprowadzam do bazy tekst przez jakis tam formualrz
w tekscie robie wciecia (TAB) zmieniam kolor, wielkosc czcionki itd i to potem wrzucam do bazy

w momencie kiedy pobieram dane z bazy i je wyswietlam je na stronie wszystko jest ok, tzn tekst jest sformatowany tak jak ja chcialem

problem jest gdy ten sam tekst chce wrzucic z powrotem do formularza np podczas edycji
wtedy brakuje kilka znacznikow .. najczescie nie robi tablulacji tam gdzie powinny byc
drugi problem to taki ze np gdy w polu <input type="text" ...> wpisze jakas nazwe ktora zawiera spacje np Jan Kowalski to potem gdy wrzucam z powrotem z bady do formularza wyswietla mi tylko Jan

nie wiem czemu tak sie dzieje .. w bazie jest wszsytko oki bo przy wyciaganiu danych jest tak jak powinno byc

Ten post edytował snaiper 13.07.2006, 12:49:11
Go to the top of the page
+Quote Post
Ja_Szczur
post
Post #2





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 4.12.2005
Skąd: Strzyżów

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


a może jakiś kod "zapodasz"? smile.gif


--------------------
"No bo z fasolą to człowiek przynajmniej wie, na czym stoi..."
Pomniejsze bóstwa, Terry Pratchett

php :*
Go to the top of the page
+Quote Post
snaiper
post
Post #3





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 20.12.2004

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


funkcja dodajaca oferte

  1. function oferty_d() {
  2. ?>
  3. <p class="admin_naglowek">Dodaj oferte</p>
  4. <form name="formularz" method="post" action="#">
  5. <table class="wiadomosc">
  6. <tr><td>Tytuł: </td><td> <input type="text" name="oferta_tytul" size="67"></td></tr>
  7. <tr><td>Treść: </td><td> <textarea cols="50" rows="20" name="oferta_tresc"></textarea></td></tr>
  8. <tr><td colspan="2"><input type="submit" value="wyślij" name="wyslij"><input type="submit" value="podgląd" name="podglad"></td></tr>
  9. </table>
  10. </form>
  11. <?php
  12.  
  13. $oferta_tytul = $_POST['oferta_tytul'];
  14. $oferta_tresc = $_POST['oferta_tresc'];
  15.  
  16. //$tytul = htmlspecialchars($tytul);
  17. //$tresc = htmlspecialchars($tresc);
  18. $data = getdate();
  19.  
  20. if(($oferta_tytul == NULL) || ($oferta_tresc == NULL)) {
  21. echo "Nie wypałnione wszytkie pola";
  22. return false;
  23. }
  24. else
  25. if(isset($_POST['wyslij'])) {
  26. $this->zapytanie("INSERT INTO oferty VALUES('$oferta_tytul','$oferta_tresc',NULL)");
  27. echo "Oferta została dodana";
  28. }
  29.  
  30. elseif(!$this->wynik) { echo "Błąd przy wysyłaniu wiadomości"; }
  31. }


edycja oferty

  1. <?php
  2. function oferty_edycja() {
  3.  
  4.  $this->zapytanie("SELECT * FROM oferty");
  5. if(!$this->wynik) { return false ; }
  6. else {
  7.  echo "<p class='admin_naglowek'>Usuń wiadomość</p>";
  8.  echo "<table class='usunw'>";
  9.  echo "<th> Tytuł </th><th></th>";
  10. while ($pokaz = $this->pokaz($this->zapytanie)) {
  11.  echo "<tr><td>" . $pokaz['tytul'] . "</td>";
  12.  echo "<td>";
  13.  echo "<form action='../admin/edycja.php' target='_blanc' method='post'>";
  14.  echo '<input type='hidden' value='' . $pokaz['nr'] . '' name='nr'>';
  15.  echo "<input type='submit' name='edytuj' value='Edytuj'>";
  16.  echo "</form>";
  17.  echo "</td></tr>";
  18. }
  19.  echo "</table>";
  20.  if(isset($_POST['edytuj'])) {
  21.  $this->edycja();
  22.  }
  23. }
  24. }
  25. ?>



fragment pliku edycja.php (reszta pliku to naglowki html)

  1. <?php
  2. $nr = $_POST['nr'];
  3. $strona->zapytanie('SELECT * FROM oferty WHERE nr = ' . $nr . '');
  4. if(!$strona->wynik) { return false ; }
  5. else {
  6.  while ($pokaz = $strona->pokaz($strona->zapytanie)) {
  7. $stary_tytul = $polaz['tytul'];
  8. echo "<p class='admin_naglowek'>Edycja oferty</p>";
  9. echo "<form name='formularz' method='post' action='#'>";
  10. echo "<table class='wiadomosc'>";
  11. echo "<tr><td>Tytuł: </td><td> <input type='text' value=" . $pokaz['tytul'] . " name='oferta_tytul' size='70'></td></tr>";
  12. echo "<tr><td>Treść: </td><td> <textarea cols='70' rows='40' value=" . $pokaz['tekst'] . " name='oferta_tresc'></textarea></td></tr>";
  13. echo "<tr><td colspan='2'><input type='submit' value='wyślij' name='ok'></td></tr>";
  14. echo "</table>";
  15. echo "</form>";
  16.  }
  17.  $tytul = $_POST['oferta_tytul'];
  18.  $tresc = $_POST['oferta_tresc'];
  19.  
  20.  if(isset($_POST['ok'])) { 
  21.  echo $stary_tytul; 
  22.  $strona->zapytanie("UPDATE oferty SET tytul = '$tytul', tekst = '$tresc', nr = '$nr' WHERE tytul = '$staty_tytul' ");
  23. echo "<p>Oferta została zmieniona</p>";
  24. if(!$strona->wynik) { echo "<p>Nieudana zmiana oferty</p>"; }
  25. }
  26. }
  27. ?>


(UPDATE cos nie chce dzialac ale narazie chce rozwiazac poprzedni problem)
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




1) nie mozesz danych do inputa wstawiac tak: .... value=jakasdana....
bo jesli te dane beda mialy spacje to bedziesz mial tak:
.... value=jakas dana....
czyli do value przypisze sie tylko jakas
wszystkie atrybuty html są w ciapkach:
.... value="jakas dana"....

2) a gdy bedziesz mial w tytlu znak " to tez bedziesz mial problem. przed wlozeniem danych do inputa musisz je potraktowac chocby funkcją htmlspecialchars()


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

"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
Ja_Szczur
post
Post #5





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 4.12.2005
Skąd: Strzyżów

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


1) możesz ustalić, że w tutule mogą być tylko znaki ", czyli przed zapisaniem zamieniać wszystkie ' na "
2) możesz też zamnieniać " na &quote;

potem umieścić <input value='...'> [pojedyncze cudzysłowia]


--------------------
"No bo z fasolą to człowiek przynajmniej wie, na czym stoi..."
Pomniejsze bóstwa, Terry Pratchett

php :*
Go to the top of the page
+Quote Post
snaiper
post
Post #6





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 20.12.2004

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


no dobra ...
a co z ulozeniem tekstu (do lewej,do srodka,do prawej), tabulacjami i spacjami w tresci na poczatku linii questionmark.gif

do formualrza mam dolaczony edytor tekstu
http://tinymce.moxiecode.com/
Go to the top of the page
+Quote Post
nospor
post
Post #7





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




1) htmlspecialchars - to juz mowilem
2) do textarea to sie nie wklada wartosco do value: ...value="wartosc".... tylko miedzy znaczniki:
<textarea ....>wartosc</textarea>

ps: i popraw tytul na mowiacy cos o tresci a nie php.mysql


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

"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
snaiper
post
Post #8





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 20.12.2004

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


dzieki , wszystko smiga smile.gif


ehh

mam dwa identycznie srkypty tylko z innymi formualrzami i z danymi
jeden chodzi bez problemow a drugi nie sad.gif

pierwszy co dziala
  1. <?php
  2. function firma() {
  3.  
  4. $this->zapytanie("SELECT * FROM firma");
  5. if(!$this->wynik) { return false ; }
  6.  else {
  7.  while ($pokaz = $this->pokaz($this->zapytanie)) {
  8. $nazwa = $pokaz['nazwa'];
  9. $ulica = $pokaz['ulica'];
  10. $miejscowosc = $pokaz['miejscowosc'];
  11. $kod_a = $pokaz['kod_a'];
  12. $kod_b = $pokaz['kod_b'];
  13. $tel_a = $pokaz['tel_a'];
  14. $tel_b = $pokaz['tel_b'];
  15. $fax = $pokaz['fax'];
  16. $nip = $pokaz['nip'];
  17. $krs = $pokaz['KRS'];
  18. $mail = $pokaz['mail'];
  19. $www = $pokaz['www'];
  20.  }
  21. }
  22.  
  23. echo "<p class='admin_naglowek'>Dane firmy</p>";
  24. echo "<form name='formularz' method='post' action='#'>";
  25. echo "<table class='firma'>";
  26. echo '<tr><td>Nazwa firmy: </td><td> <input type="text" value = "' . $nazwa . '" name="nazwa" size="50"></td></tr>';
  27. echo '<tr><td>Ulica: </td><td> <input type="text" value = "' . $ulica . '" name="ulica" size="50"></td></tr>';
  28. echo "<tr><td>Miejscowość: </td><td> <input type='text' value = " . $miejscowosc . " name='miejscowosc' size='50'></td></tr>";
  29. echo "<tr><td>Kod pocztowy: </td><td> <input type='text' value = " . $kod_a . " name='kod_a' size='1'>-<input type='text' value = " . $kod_b . " name='kod_b' size='2'></td></tr>";
  30. echo "<tr><td>Tel: </td><td> <input type='text' value = " . $tel_a . " name='tel_a' size='50'></td></tr>";
  31. echo "<tr><td>Tel: </td><td> <input type='text' value = " . $tel_b . " name='tel_b' size='50'></td></tr>";
  32. echo "<tr><td>FAX: </td><td> <input type='text' value = " . $fax . " name='fax' size='50'></td></tr>";
  33. echo "<tr><td>NIP: </td><td> <input type='text' value = " . $nip . " name='nip' size='50'></td></tr>";
  34. echo "<tr><td>KRS: </td><td> <input type='text' value = " . $krs . " name='krs' size='50'></td></tr>";
  35. echo "<tr><td>Mail: </td><td> <input type='text' value = " . $mail . " name='mail' size='50'></td></tr>";
  36. echo "<tr><td>WWW: </td><td> <input type='text' value = " . $www . " name='www' size='50'></td></tr>";
  37. echo "<tr><td><input type='submit' value='wyślij' name='wyslij'></td></tr>";
  38. echo "</table>";
  39. echo "</form>";
  40.  
  41.  
  42. $nazwa = $_POST['nazwa'];
  43. $ulica = $_POST['ulica'];
  44. $miejscowosc = $_POST['miejscowosc'];
  45. $kod_a = $_POST['kod_a'];
  46. $kod_b = $_POST['kod_b'];
  47. $tel_a = $_POST['tel_a'];
  48. $tel_b = $_POST['tel_b'];
  49. $fax = $_POST['fax'];
  50. $nip = $_POST['nip'];
  51. $krs = $_POST['krs'];
  52. $mail = $_POST['mail'];
  53. $www = $_POST['www'];
  54.  
  55. $nazwa = htmlspecialchars($nazwa);
  56. $ulica = htmlspecialchars($ulica);
  57. $miejscowosc = htmlspecialchars($miejscowosc);
  58. $kod_a = htmlspecialchars($kod_a);
  59. $kod_b = htmlspecialchars($kod_b);
  60. $tel_a = htmlspecialchars($tel_a);
  61. $tel_b = htmlspecialchars($tel_b);
  62. $fax = htmlspecialchars($fax);
  63. $nip = htmlspecialchars($nip);
  64. $krs = htmlspecialchars($krs);
  65. $mail = htmlspecialchars($mail);
  66. $www = htmlspecialchars($www);
  67.  
  68. if(($nazwa == NULL) || ($ulica == NULL) || ($miejscowosc == NULL) || ($tel_a == NULL) || ($nip == NULL) || ($mail == NULL)) {
  69. echo "Nie wypałnione wszytkie pola";
  70. return false;
  71. }
  72. else
  73. $this->zapytanie("UPDATE firma SET id = '1', nazwa = '$nazwa', ulica = '$ulica', miejscowosc = '$miejscowosc', kod_a = '$kod_a', kod_b = '$kod_b', tel_a = '$tel_a', tel_b = '$tel_b', fax = '$fax', nip = '$nip', krs = '$krs', mail = '$mail', www = '$www' WHERE id = '1'");
  74.  
  75. if(!$this->wynik) { echo "Błąd przy wysyłaniu danych"; }
  76. else { echo "Dane zostały wysłane"; }
  77. }
  78. ?>



drugi co nie dziala
  1. <?php
  2. ?>
  3. <!DOCTYPE html
  4.  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  5.  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  6. <?php
  7.  
  8. include "../klasy/admin.php";
  9. $strona = new strona();
  10. $strona -> polacz();
  11.  
  12. if(isset($_SESSION['dobry_login']) && ($_SESSION['dobre_haslo'])) {
  13.  
  14. ?>
  15. <html>
  16.  
  17. <body>
  18.  
  19.  
  20. <div id="admin_strona">
  21.  
  22.  
  23.  <div>
  24. <?php
  25.  
  26. $nr = $_POST['nr'];
  27. $strona->zapytanie('SELECT * FROM oferty WHERE nr = ' . $nr . '');
  28. if(!$strona->wynik) { return false ; }
  29. else {
  30.  while ($pokaz = $strona->pokaz($strona->zapytanie)) {
  31. $stary_tytul = $pokaz['tytul'];
  32. $stara_tresc = $pokaz['tekst'];
  33.  }
  34.  }
  35. echo "<p class='admin_naglowek'>Edycja oferty</p>";
  36. echo "<form name='formularz' method='post' action='#'>";
  37. echo "<table class='wiadomosc'>";
  38. echo '<tr><td>Tytuł: </td><td> <input type="text" value="' . $stary_tytul . '" name="tytul" size="70"></td></tr>';
  39. echo '<tr><td>Treść: </td><td> <textarea cols="70" rows="40" name="tresc">'.$stara_tresc.'</textarea></td></tr>';
  40. echo "<tr><td colspan='2'><input type='submit' value='wyślij' name='ok'></td></tr>";
  41. echo "</table>";
  42. echo "</form>";
  43.  
  44.  
  45.  $tytul = $_POST['tytul'];
  46.  $tresc = $_POST['tresc'];
  47. echo $stary_tytul;
  48. echo $tytul;
  49.  
  50.  echo $nr;
  51.  
  52. if(isset($_POST['ok'])){
  53.  $strona->zapytanie("UPDATE oferty SET tytul = '$tytul', tekst = '$tresc', WHERE nr = '$nr' ");
  54. if(!$strona->wynik) { echo "Błąd przy wysyłaniu danych"; }
  55. else { echo "Dane zostały wysłane"; }
  56. echo $tytul;
  57. echo $tresc;
  58. }
  59.  
  60. ?>
  61.  
  62.  </div>
  63. </div>
  64. <?php
  65. }
  66. else {
  67. echo "Najpierw się zaloguj ;-)";
  68. Header("Refresh: 3; URL='logowanie.html'");
  69. }
  70. ?>
  71. </body>
  72. </html>


gdy wpisz (w tym drugim) echo $stary_tytul to pokazuje ale jak juz odbiore z formularza nowy tytul $tytul = $_POST['tytul'] to juz go nie odbiera i w echo $tytul nic nie ma

pozatym nie pokazuj komunikatu czy byl update czy wystapil blad przy updacie
Go to the top of the page
+Quote Post
thornag
post
Post #9





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

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


Jesli sa identyczne to posprawdzaj czy napewno dobrze je spokopiowales i napewno dobrze pozmieniales nazwy zmiennych itp itp. Ja w takich rpzypadkach przeklaejam linijka po linijce albo nawet pisze na nowo. Juz sie przekonalem ze szybciej mi pojdzie napisanie malego fragmentu raz jeszcze niz szukanie bledu przez pol dnia gdy debuggowanie nic nire daje. Aha i debuguj !


--------------------
"Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"

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 Aktualny czas: 19.08.2025 - 04:12