Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Błąd przy wprowadzaniu danych
Forum PHP.pl > Forum > Przedszkole
david8213
Dawniej mi to chodziło a teraz wywala mi błąd że w formulażu nie wpisałem danych, choć są wpisane
Co jest nie tak ?

Poniższy kod - Wpisywanie i wyświetlanie na stronę danych z formularza

index.php

  1. <FORM ACTION="return.php" METHOD="POST">
  2. <font color=white>Autor:         
  3. <INPUT TYPE="TEXT" SIZE="30" style="background-color: #BBBBBB; font-family: Verdana; font-size: 12pt color: #00FF00" NAME="Autor"><BR><BR>
  4. <font color=white>E-mail:        
  5. <INPUT TYPE="TEXT" SIZE="30" MAXLENGTH="200" style="background-color: #BBBBBB; font-family: Verdana; font-size: 12pt color: #00FF00" NAME="adres"><BR><BR>
  6. <TEXTAREA NAME="Tresc" WRAP COLS=55 style="BACKGROUND-COLOR: #BBBBBB; font-family: Verdana; font-size: 12pt color: #00FF00" ROWS=10></TEXTAREA><BR><BR>      
  7. <INPUT TYPE=SUBMIT VALUE= " Dopisz " style="BACKGROUND-COLOR: #333333; FONT-FAMILY : Verdana; FONT-SIZE : 12; color: #FFFFFF">      
  8. <INPUT TYPE="RESET" VALUE=" Wyczy?ć " style="BACKGROUND-COLOR: #333333; FONT-FAMILY : Verdana; FONT-SIZE : 12; color: #FFFFFF">
  9. </FORM>




return.php

  1. <?PHP
  2. if(($Autor=="") or ($Tresc==""))
  3. {
  4. print("<BR><BR><BR><BR><font color=red><B><center>Nie wypełniłe? wszytkich pól !</B><p>");
  5. print("<BR><P class=\"styl\"><A HREF=\"index.php\">[powrót do formularza]</A></P>");
  6. }
  7. $Tresc = stripslashes($Tresc);
  8. $Tresc = ereg_replace("<","<", $Tresc);
  9. $Tresc = ereg_replace(">",">", $Tresc);
  10. $Tresc = ereg_replace("\n", "<BR>", $Tresc);
  11. $nazwa = "data.txt";
  12. $wpis = "<table width=700><tr><td bgcolor=#C0C0C0><b><a href=mailto:$adres> <i>$Autor</a></td><td bgcolor=#C0C0C0><div align=right> <i><b>".date("d.m.Y")."<b> - ".date("H:i"). "<tr><td colspan=2 bgcolor=#C0C0C0><div style=\"margin-left:5\" style=\"margin-right:5\"><font color=black><b>$Tresc</td></tr></table><br>\n";
  13. $myFile = fopen($nazwa, "r+");
  14. $wpis=$wpis.fread($myFile, filesize($nazwa));
  15. rewind($myFile);
  16. fputs($myFile, $wpis);
  17. fclose($myFile);
  18. print("<br><br><br><br><br><br><center><TABLE border=1 bordercolor=white cellSpacing=0 cellPadding=0 width=745 align=center bgColor=#3c405b>");
  19. print("<TR><TD vAlign=top align=middle width=745>");
  20. print("<font color=white><pre>Czekaj ... <br><br></pre>");
  21. print("</td></tr></table>");
  22.  
  23. ?>



wyswietl.php

  1. <?PHP
  2. //liczba wpisów :
  3. $nazwa = "data.txt";
  4. $myFile = fopen($nazwa, "r");
  5. $i=0;
  6. while(!feof($myFile)) {
  7. $myLine = fgets($myFile);
  8. $i++; } // <- zwiększa każdy linię wpisu o 1
  9. fclose($myFile);
  10. print(" <font color=black>Liczba wpisów: <b>$i</b><BR><BR>"); //koniec
  11.  
  12. // dzielenie wpisów po 19 na każdej stronie:
  13. $nazwa = "data.txt";
  14. $myFile = fopen($nazwa, "r");
  15. $k=1;
  16. $end=$st+19;
  17. while(!feof($myFile))
  18. {
  19. $myLine = fgets($myFile);
  20. if ($k>=$st)
  21. {
  22. if ($k<=$end) {
  23. print("$myLine"); // <--wyświetla wpisy
  24. };
  25. };
  26. $k++;
  27. }
  28. fclose($myFile);
  29.  
  30. print("<br><center><font color=black>kolejne strony ... ");
  31. $ile=floor($i/19);
  32. $ctpage=floor($st/19)+1;
  33. for ($z=0;$z<=$ile;$z++)
  34. {
  35. $y=$z+1;
  36. if ($y==$ctpage) {print ("<FONT color=#000000> $y ");}
  37. else {print ("<A HREF=\"index.php?st=".($z*2)."0\"> $y </A>");}
  38. };
  39. //koniec dzielenia stron po 19
  40. ?>
Turson
Jesteś pewny co do
  1. if(($Autor=="") or ($Tresc==""))

zamiast $_POST['Autor'] i $_POST['Tresc'] questionmark.gif
Xart
Wpisz sobie w kodzie poprostu
$Tresc = $_POST['Tresc']
itp
i będzie OK smile.gif
Kshyhoo
Cytat(Turson @ 31.01.2014, 10:21:59 ) *
Jesteś pewny co do
  1. if(($Autor=="") or ($Tresc==""))

zamiast $_POST['Autor'] i $_POST['Tresc'] questionmark.gif

W sumie wychodzi na to samo wink.gif
Cytat(Xart @ 31.01.2014, 10:49:52 ) *
Wpisz sobie w kodzie poprostu
$Tresc = $_POST['Tresc']
itp
i będzie OK smile.gif

Czemu to ma niby służyć? Walidacja formularzy jest istotną częścią skryptu, więc pomijanie nie ma sensu.
Cytat(david8213 @ 31.01.2014, 10:14:53 ) *
Dawniej mi to chodziło a teraz wywala mi błąd że w formulażu nie wpisałem danych, choć są wpisane
Co jest nie tak ?

A sprawdziłeś, co przechodzi przez $_POST? Możesz też nieco zmodyfikować skrypt:
  1. if(($Autor=="") or ($Tresc=="")) {
  2. ...
  3. } else {
  4. // tu wklej część odpowiedzialną za wrzucenie do pliku.
  5. }

Do sprawdzenia zakomentuj input z autorem a potem z treścią, żeby sprawdzić, która dana bruździ.
phpion
Cytat(Kshyhoo @ 31.01.2014, 11:02:25 ) *
Czemu to ma niby służyć? Walidacja formularzy jest istotną częścią skryptu, więc pomijanie nie ma sensu.

A jakie ma znaczenie jakiej zmiennej użyje? Czy bezpośrednio z POSTa czy własnej? Możliwe, że słowo dawniej tyczy czasów/ustawień z włączonym register_globals (ale w sumie to było z dobre 10 lat temu). Można więc faktycznie zrobić jak pisze Xart lub od biedy extract($_POST).
Kshyhoo
Święta racja, umknęło mi to smile.gif
Turson
Cytat(Kshyhoo @ 31.01.2014, 11:02:25 ) *
W sumie wychodzi na to samo wink.gif

Co wychodzi na to samo? $Autor to jest to samo co $_POST['Autor'] questionmark.gif Tylko w przypadku, o jakim wspomniał phpion, a nie wiemy jak jest u autora.
Kshyhoo
Przecież już pisałem, że jakiś zaspany jestem. Zwróciłem uwagę na "i" pomiędzy a nie sposób przekazania smile.gif
david8213
CO tu jest źle

  1. if(($Autor=="") or ($Tresc==""))


Jeszcze kilka miesięcy temu mi to chodziło ?
nospor
O to, ze dane z forma znajduja sie w $_POST, a ty ich niestety tam nie szukasz.
david8213
Cytat(Kshyhoo @ 31.01.2014, 11:02:25 ) *
W sumie wychodzi na to samo wink.gif

Czemu to ma niby służyć? Walidacja formularzy jest istotną częścią skryptu, więc pomijanie nie ma sensu.

A sprawdziłeś, co przechodzi przez $_POST? Możesz też nieco zmodyfikować skrypt:
  1. if(($Autor=="") or ($Tresc=="")) {
  2. ...
  3. } else {
  4. // tu wklej część odpowiedzialną za wrzucenie do pliku.
  5. }

Do sprawdzenia zakomentuj input z autorem a potem z treścią, żeby sprawdzić, która dana bruździ.



Dalej to samo
Wyświetla mi że nie wypełniłem wszystkich pół choć wszystkie są wypełnione

Dodam że to chodziło na starym serwerze PRV.PL
Po tym jak PRV zrobiła modernizację przestało chodzić


Poniżej też nie działa tyle że wiadomo, już bez koumunikatu
Dodaje puste wpisy, wyświetla tylko datę

  1. <?PHP
  2. $Tresc = stripslashes($Tresc);
  3. $Tresc = ereg_replace("<","<", $Tresc);
  4. $Tresc = ereg_replace(">",">", $Tresc);
  5. $Tresc = ereg_replace("\n", "<BR>", $Tresc);
  6. $nazwa = "data.txt";
  7. $wpis = "<table width=700><tr><td bgcolor=#C0C0C0><b><a href=mailto:$adres> <i>$Autor</a></td><td bgcolor=#C0C0C0><div align=right> <i><b>".date("d.m.Y")."<b> - ".date("H:i"). "<tr><td colspan=2 bgcolor=#C0C0C0><div style=\"margin-left:5\" style=\"margin-right:5\"><font color=black><b>$Tresc</td></tr></table><br>\n";
  8. $myFile = fopen($nazwa, "r+");
  9. $wpis=$wpis.fread($myFile, filesize($nazwa));
  10. rewind($myFile);
  11. fputs($myFile, $wpis);
  12. fclose($myFile);
  13. print("<br><br><br><br><br><br><center><TABLE border=1 bordercolor=white cellSpacing=0 cellPadding=0 width=745 align=center bgColor=#3c405b>");
  14. print("<TR><TD vAlign=top align=middle width=745>");
  15. print("<font color=white><pre>Czekaj ... <br><br></pre>");
  16. print("</td></tr></table>");
  17. ?>
nospor
Zrozum wkoncu....
nie: $Autor
a: $_POST['Autor']

Analogicznie reszta pol forma

Ile razy mozna o tym pisac? W kazdym posce w tym temacie masz o tym pisane :/
Kshyhoo
  1. if(($_POST['Autor']=="") or ($_POST['Tresc']==""))

to obowązuje na dzień dzisiejszy...
david8213
wszędzie czy nie te $_POST powstawiać


  1. $_POST['Tresc'] = stripslashes($_POST['Tresc']);
  2. $_POST['nazwa'] = "data.txt";
  3.  
  4. $_POST['wpis'] = "<a href=mailto:$_POST['adres']>&nbsp;<i>$_POST['Autor']</a>".date("d.m.Y")."<b> - ".date("H:i")."<b>$_POST['Tresc'] <br>\n";
  5. $myFile = fopen($_POST['nazwa'], "r+");
  6. $_POST['wpis']=$_POST['wpis'].fread($myFile, filesize($_POST['nazwa']));
  7. rewind($myFile);
  8. fputs($myFile, $_POST['wpis']);
  9. fclose($myFile);
  10. print("<br>");
  11. print("<br>");
Turson
Możesz zrobić tak
  1. $Tresc = trim($_POST['Tresc']);
  2. $Nazwa= trim($_POST['Nazwa']);
  3. if(!empty($Tresc) && !empty($Nazwa)){
  4. //działanie
  5. }

a potem już używać $Tresc i $Nazwa

To podstawy podstaw i nie ma co lecieć z taką pierdołą na forum
david8213
Adresu i nazwy mi nie zapisuje do pliku. Co jest nie tak

Treść już zapisuje do pliku i wyświetla.

  1. <?PHP
  2.  
  3. $tresc = trim($_POST['tresc']);
  4. $nazwa = trim($_POST['nazwa']);
  5. $adres = trim($_POST['adres']);
  6. if(!empty($tresc) && !empty($nazwa))
  7.  
  8.  
  9. {
  10. print("<BR><BR><BR><BR><font color=red><B><center>Nie wypełniłe? wszytkich pól !</B><p>");
  11. print("<BR><P class=\"styl\"><A HREF=\"index.php\">[powrót do formularza]</A></P>");
  12. }
  13.  
  14. else
  15. {
  16. $tresc = stripslashes($tresc);
  17. $tresc = ereg_replace("<","<", $tresc);
  18. $tresc = ereg_replace(">",">", $tresc);
  19. $tresc = ereg_replace("\n", "<BR>", $tresc);
  20. $nazwa = "data.txt";
  21. $wpis = "<table width=700><tr><td bgcolor=#C0C0C0><b><a href=mailto:$adres> <i>$autor</a></td><td
  22.  
  23. bgcolor=#C0C0C0><div align=right> <i><b>".date("d.m.Y")."<b> - ".date("H:i"). "<tr><td colspan=2 bgcolor=#C0C0C0><div
  24.  
  25. style=\"margin-left:5\" style=\"margin-right:5\"><font color=black><b>$tresc</td></tr></table><br>\n";
  26. $myFile = fopen($nazwa, "r+");
  27. $wpis=$wpis.fread($myFile, filesize($nazwa));
  28. rewind($myFile);
  29. fputs($myFile, $wpis);
  30. fclose($myFile);
  31. print("<br><br><br><br><br><br><center><TABLE border=1 bordercolor=white cellSpacing=0 cellPadding=0 width=745
  32.  
  33. align=center bgColor=#3c405b>");
  34. print("<TR><TD vAlign=top align=middle width=745>");
  35. print("<font color=white><pre>Czekaj ... <br><br></pre>");
  36. print("</td></tr></table>");
  37.  
  38.  
  39. }
  40.  
  41. ?>
Kshyhoo
Cytat(david8213 @ 31.01.2014, 13:40:56 ) *
Adresu i nazwy mi nie zapisuje do pliku. Co jest nie tam

Bo tych danych nie przekazujesz do pliku.
nospor
Ksyhoo przeciez przekazuje... przyjrzyj sie....

@autor:
blad na bledzie....

1)
if(!empty($tresc) && !empty($nazwa))
Jesli nie pusta tresc i nie pusta nazwa, to piszesz, ze koles nie wypelnil wszystkich pol.... gdzie sens i logika?

2) Najpierw pobierasz nazwa z forma, a potem ja sobie nadpisujesz
$nazwa = "data.txt";
questionmark.gif

3) Zrob
print_r($_POST);
i zobacz co ci idzie postem


Cytat
nie znam się na php tak dobrze
Ale odrobine pomyslec to bys mogl. Jedno zdrugim nie ma zwiazku
david8213
Pieprzycie głupoty
Wszystko ładnie tu działa

  1. <?PHP
  2.  
  3. $tresc = trim($_POST['tresc']);
  4. $autor = trim($_POST['autor']);
  5. $adres = trim($_POST['adres']);
  6.  
  7. if(($autor=="") or ($tresc==""))
  8.  
  9.  
  10. {
  11. print("<BR><BR><BR><BR><font color=red><B><center>Nie wypełniłe? wszytkich pól !</B><p>");
  12. print("<BR><P class=\"styl\"><A HREF=\"index.php\">[powrót do formularza]</A></P>");
  13. }
  14.  
  15. else
  16. {
  17. $tresc = stripslashes($tresc);
  18. $tresc = ereg_replace("<","<", $tresc);
  19. $tresc = ereg_replace(">",">", $tresc);
  20. $tresc = ereg_replace("\n", "<BR>", $tresc);
  21. $nazwa = "data.txt";
  22. $wpis = "<table width=700><tr><td bgcolor=#C0C0C0><b><a href=mailto:$adres> <i>$autor</a></td><td bgcolor=#C0C0C0><div align=right> <i><b>".date("d.m.Y")."<b> - ".date("H:i"). "<tr><td colspan=2 bgcolor=#C0C0C0><div style=\"margin-left:5\" style=\"margin-right:5\"><font color=black><b>$tresc</td></tr></table><br>\n";
  23. $myFile = fopen($nazwa, "r+");
  24. $wpis=$wpis.fread($myFile, filesize($nazwa));
  25. rewind($myFile);
  26. fputs($myFile, $wpis);
  27. fclose($myFile);
  28. print("<br><br><br><br><br><br><center><TABLE border=1 bordercolor=white cellSpacing=0 cellPadding=0 width=745 align=center bgColor=#3c405b>");
  29. print("<TR><TD vAlign=top align=middle width=745>");
  30. print("<font color=white><pre>Czekaj ... <br><br></pre>");
  31. print("</td></tr></table>");
  32.  
  33.  
  34. }
  35.  
  36. ?>


Dzięki.. niektórym
Turson
Cytat
Pieprzycie głupoty
Wszystko ładnie tu działa

to po co wyżej piszesz, że nie działa... Trochę kultury też mógłbyś okazać
nospor
1) Jakby dzialalo, to bys nie przylazil na forum i nie plakal ze nie dziala....
2)
if(($autor=="") or ($tresc==""))
if(!empty($tresc) && !empty($nazwa))
To są dwa zupelnie rozne warunki logiczne,

3) Pokazales teraz inny kod niz posta wczesniej i ojej, nagle dziala.... dziala, bo jest poprawny ten co teraz pokazales...wczesniej pokazales niepoprawny
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.