Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP]kod-problem odczytu danych w formularzu
robin5hood
post 17.05.2008, 10:21:25
Post #1





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


napisałem taki kod do formularza ksiega_wpisy.php
  1. <?php
  2. echo '<h1>Księga gości</h1>
  3. <form action=ksiega_zapisz.php>
  4.  Wpisz swój komentarz<br>
  5.  <textarea cols=40 rews=15 name=komentarz></textarea><br>
  6.  <input type="text" name=podpis>Podpis<br>
  7.  <input type="submit" value="Zapisz">
  8. </form>'
  9. ?>

a w pliku ksiega_zapisz.php taki kod
  1. <?php
  2. if(file_exist("ksiega_wpisy.php"))
  3. fopen("ksiega_wpisy.php","a")
  4. else 
  5. $plik=fopen("ksiega_wpisy.php","w")
  6. fwrite($plik,<hr>$komentarz<br>$podpis<br>)
  7. fclose($plik)
  8. ?>

co jest nie tak ? bo nie wiem
Go to the top of the page
+Quote Post
pablo114
post 17.05.2008, 10:26:30
Post #2





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 11.07.2007

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


w tym ksiega_zapisz.php podałes zeby dane z formularza wpisywał do pliku ksiega_wpisy.php

Ten post edytował pablo114 17.05.2008, 10:27:02
Go to the top of the page
+Quote Post
robin5hood
post 17.05.2008, 10:46:51
Post #3





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


Co mam zmienić? bo trochę się pogubiłem sad.gif
Go to the top of the page
+Quote Post
krzmig
post 17.05.2008, 10:49:13
Post #4





Grupa: Zarejestrowani
Postów: 22
Pomógł: 3
Dołączył: 24.01.2008
Skąd: Witnica

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


Najlepiej napisz co nie działa lub co działa nie tak jak trzeba ;]


--------------------
Go to the top of the page
+Quote Post
l0ud
post 17.05.2008, 10:52:55
Post #5





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Zacznij od nauki podstaw PHP:
- linie kodu w PHP zakańczamy średnikami (poza warunkami pętlami etc)
- gdy w warunku jest więcej niż 1 akcja umieszczamy linie kodu pomiędzy { }
- ciągi tekstu umieszczamy w cudzysłowach, nie można od tak po prostu wstawić kodu html w php.

  1. <?php
  2. if(file_exists("ksiega_wpisy.php"))
  3. fopen("ksiega_wpisy.php","a");
  4. else {
  5. $plik=fopen("ksiega_wpisy.php","w");
  6. fwrite($plik,'<hr>'.$komentarz.'<br>'.$podpis.'<br>');
  7. fclose($plik);
  8. }
  9. ?>


Ten post edytował l0ud 17.05.2008, 10:53:15


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
robin5hood
post 17.05.2008, 10:53:02
Post #6





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


nie wyświetla danych wpisany w formularzu po kliknieciu zapisz a formularzu?
pokazuje je w url a nie na przeglądarce

Ten post edytował robin5hood 17.05.2008, 10:57:22
Go to the top of the page
+Quote Post
pablo114
post 17.05.2008, 11:02:33
Post #7





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 11.07.2007

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


jeszcze nie masz dopisanych zmiennych pobierajacych dane z formularza
musisz sobie dorobic jeszcze jeden plik np. ksiega.dat, w nim bedziesz zapisywał dane podane w formularzu

czyli bedzie tak:
ksiega_wpisy.php
  1. <?php
  2. echo '<h1>Księga gości</h1>
  3. <form action=ksiega_zapisz.php>
  4.  Wpisz swój komentarz<br>
  5.  <textarea cols=40 rews=15 name=komentarz></textarea><br>
  6.  <input type="text" name=podpis>Podpis<br>
  7.  <input type="submit" value="Zapisz">
  8. </form>'
  9. ?>


ksiega_zapisz.php
  1. <?php
  2. $komentarz = $_POST['komentarz'];
  3. $podpis = $_POST['podpis'];
  4.  
  5. if(file_exists("ksiega.dat"))
  6. fopen("ksiega.dat","a");
  7. else {
  8. $plik=fopen("ksiega.dat","w");
  9. fwrite($plik,'<hr>'.$komentarz.'<br>'.$podpis.'<br>');
  10. fclose($plik);
  11. }
  12. ?>


Ten post edytował pablo114 17.05.2008, 11:04:48
Go to the top of the page
+Quote Post
robin5hood
post 17.05.2008, 11:15:51
Post #8





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


zmieniłem tak jak napisałeś, ale jak je wyswietlić bo nadal tylko są widoczne w urll?
Go to the top of the page
+Quote Post
pablo114
post 17.05.2008, 11:19:36
Post #9





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 11.07.2007

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


ale gdzie chcesz ty to wyswietlic
Go to the top of the page
+Quote Post
robin5hood
post 17.05.2008, 11:23:00
Post #10





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


poprzez kliknięcie zapisz chciałbym je np zobaczyć w ten sposób
"twój komentarz to: i tu treść komentarza "
"twój podpis to:"
Go to the top of the page
+Quote Post
Crozin
post 17.05.2008, 11:27:04
Post #11





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


ksiega_wpisy.php
  1. <h1>Księga gości</h1>
  2. <form action="ksiega_zapisz.php" method="post">
  3. Wpisz swój komentarz<br>
  4. <textarea cols=40 rews=15 name=komentarz></textarea><br>
  5. <input type="text" name=podpis>Podpis<br>
  6. <input type="submit" value="Zapisz">
  7. </form>
  8.  
  9. <h2>WPISY:</h2>
  10. <?php echo file_get_contents('ksiega.dat'); ?>
ksiega_zapisz.php
  1. <?php
  2. $komentarz = $_POST['komentarz'];
  3. $podpis = $_POST['podpis'];
  4.  
  5. if(!file_exists("ksiega.dat"))
  6. exit('Błąd!');
  7. else {
  8. $plik=fopen("ksiega.dat", "a");
  9. fwrite($plik, '<hr>'.$komentarz.'<br>'.$podpis.'<br>');
  10. fclose($plik);
  11. }
  12. ?>
Go to the top of the page
+Quote Post
robin5hood
post 17.05.2008, 11:33:38
Post #12





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


ale nadal po kliknięciu przycisku zapisz nic się nie pojawia w przeglądarce sad.gif
Go to the top of the page
+Quote Post
Crozin
post 17.05.2008, 11:35:23
Post #13





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Na końcu ksiega_zapisz.php dodaj:
  1. <?php
  2. header('Location: ksiega_wpisy.php');
  3. ?>
Go to the top of the page
+Quote Post
robin5hood
post 17.05.2008, 11:46:21
Post #14





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


wpisałem to co napisałeś. a potem wpisałem coś do formularza i nie pokazuje po kliknieciu zapisz niestety tych wpisów
Go to the top of the page
+Quote Post
pablo114
post 17.05.2008, 11:50:03
Post #15





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 11.07.2007

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


to zamiast tego co ci podał Crozin uzyj tego

  1. <?php
  2. header('Location: ksiega.dat');
  3. ?>
Go to the top of the page
+Quote Post
robin5hood
post 17.05.2008, 11:52:57
Post #16





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


po wpisaniu tego pokazuje tylko cos takiego
><hr><br><br><hr><br><br><hr><br><br><hr><br><br>
co mam zmienić bo już sie załamuję sad.gif

Ten post edytował robin5hood 17.05.2008, 12:19:44
Go to the top of the page
+Quote Post
Crozin
post 17.05.2008, 12:44:59
Post #17





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Sprawdź czy jak dodasz nowy komentarz to czy jego treść się pokaże. Bo teraz wygląda jakby zmienne $komentarz i $podpis były puste. Możesz sprawdzić ich wartośc przed dodaniem (var_dump" title="Zobacz w manualu PHP" target="_manual)
Go to the top of the page
+Quote Post
robin5hood
post 17.05.2008, 13:06:41
Post #18





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 16.05.2008

Ostrzeżenie: (10%)
X----


A jak mam to wisać w kodzie bo nie bardzo zrozumiałem (jestem początkujący w php)
Go to the top of the page
+Quote Post
Crozin
post 17.05.2008, 13:16:02
Post #19





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Księga_zapisz.php
  1. <?php
  2.  
  3. echo 'DANE Z FORMULARZA: <pre>' . print_r($_POST, 1) . '</pre><br /><br />';
  4.  
  5. $komentarz = $_POST['komentarz'];
  6. $podpis = $_POST['podpis'];
  7.  
  8. echo 'Dane przypisane do lokalnych zmiennych: ';
  9. var_dump($komentarz);
  10. var_dump($podpis);
  11.  
  12. if(!file_exists("ksiega.dat"))
  13. exit('Błąd!');
  14. else {
  15. $plik=fopen("ksiega.dat", "a");
  16. $insert = '<hr>'.$komentarz.'<br>'.$podpis.'<br>';
  17. fwrite($plik, $insert);
  18. fclose($plik);
  19.  
  20. echo 'Treść dopisana do pliku: ';
  21. var_dump($insert);
  22. }
  23.  
  24. //obecnie (poki masz te echo/var_dump()) ponizsza linia nie zadziala i wywali blad
  25. //ale gdy wywalisz w/w f-cje bedzie dzialac.
  26. header('Location: ksiega_wpisy.php');
  27.  
  28. ?>
Go to the top of the page
+Quote Post
likedat
post 17.05.2008, 13:29:26
Post #20





Grupa: Zarejestrowani
Postów: 20
Pomógł: 1
Dołączył: 1.03.2008

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


Po pierwsze: kursy dla poczatkujacych, sa przyklejone na forum, polecam takze jakis kurs HTML winksmiley.jpg
Po drugie: wlacz obsluge bledow, a jesli jest wlaczona, to wklejaj je na forum wraz z pytaniem i kodem, ktory rzekomo nie dziala.

plik: ksiega_wpisy.php:
  1. <h1>Księga gości</h1>
  2. <?php if (isset($_GET['msg'])) echo($_GET['msg']); ?>
  3. <form action='ksiega_zapisz.php' method="post">
  4.  Wpisz swój komentarz<br>
  5.  <textarea cols=40 rows=15 name="komentarz"></textarea><br>
  6.  <input type="text" name="podpis">Podpis<br>
  7.  <input type="submit" value="Zapisz">
  8. </form>
  9. <?php echo file_get_contents('wpisy.dat'); ?>


plik: ksiega_zapisz.php
  1. <?php
  2. $plik = "wpisy.dat";
  3. $msg = "Wpis został dodany."
  4.  
  5. if(file_exists($plik)) {
  6. if (isset($_POST['podpis']) && !empty($_POST['podpis']) && isset($_POST['komentarz']) && !empty($_POST['komentarz'])) {
  7. $komentarz = $_POST['komentarz'];
  8. $podpis = $_POST['podpis']
  9.  
  10. $plik=fopen($plik,"a+");
  11. fwrite($plik,"<hr>".$komentarz."<br>".$podpis."<br>");
  12. fclose($plik);
  13. } else
  14. $msg = "Nie wszystkie pola zostały wypełnione.";
  15. } else
  16. $msg = "Wystąpił problem z bazą, spróbój później.";
  17.  
  18. header("Location: ksiega_wpisy.php?msg=".$msg);
  19. ?>
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: 5.07.2025 - 19:08