Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][html]Prośba o sprawdzenie, Proszę o sprawdzenie podanego skryptu
obelix94
post
Post #1





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

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


Skrypt służy do zapisywania oceny, obliczania średniej, sprawdzania użytkowników, pokazywania średniej. Prosze o sprawdzenie i oceny. PS: wykluczona jest baza danych

  1. <?php
  2.        //sprawdzenie ciasteczka
  3.        $wiersz = @ $_GET['wiersz'];
  4.         if ($_COOKIE['obecny'] == 'byl'))
  5.        {
  6.              $status = 'glosowales';
  7.          }
  8.        else
  9.        {
  10.                        setcookie("obecny","byl",time() + 60 * 60 * 24 * 30); // 60s razy 60 minut razy 24h razy 30 dni
  11.            //TRESC SKRYPTU
  12.            //ustawianie zmiennych
  13.            $plik_glosowan = 'zmienne/ilosc_glosowan'.$wiersz.'.txt';
  14.                 $plik_sredniej = 'zmienne/srednia'.$wiersz.'.txt';
  15.            $plik_wartosci = 'zmienne/suma_wartosci'.$wiersz.'.txt';
  16.            //dodawanie ilosci, zapisywanie
  17.            $ilosc_glosowan = file_get_contents($plik_glosowan);
  18.            $ilosc_glosowan = $ilosc_glosowan + 1;
  19.            file_put_contents($plik_glosowan, $ilosc_glosowan);
  20.  
  21.            //suma glosow
  22.            $wartosc = $_POST('wartosc');
  23.               $ilosc_wartosci = file_get_contents($plik_glosowan);
  24.            $ilosc_wartosci = $ilosc_glosow + $wartosc;
  25.            file_put_contents($plik_wartosci, $ilosc_wartosci);
  26.  
  27.            //liczenie sredniej
  28.               $ilosc_glosowan = file_get_contents($plik_sredniej);
  29.            $srednia = $ilos_wartosci / $ilosc_glosowan
  30.            file_put_contents($plik_sredniej, $srednia);
  31.        }
  32.  
  33.        if($status == 'glosowales'){
  34.            echo('<div class="secondaryContentBox"><h2>Oceń wiersz</h2><p><font color="red">GŁOSOWAŁEŚ!</font></p> ');
  35.            //ciag dalszy (drugi skrypt)
  36.                        echo('<div id="linia"><br></div>');
  37.            echo('<h2>Średnia ocen</h2><p>')
  38.            $srednia = file_get_contents($plik_sredniej);
  39.            echo($srednia.'</p>');
  40.        }
  41.        else{
  42.            echo('
  43.            <div class="secondaryContentBox">
  44.            <h2>Oceń wiersz</h2>
  45.            <p>');
  46.            echo('<form action="index.php?id=biblio1&lang=pl&wiersz=
  47.            echo($wiersz);
  48.            echo('" method="post"><p>Twoja ocena<br>');
  49.            echo('<input type="radio"  name="wartosc" value="6"  />6<br>
  50.            <input type="radio" name="wartosc" value="5" checked="checked" />5<br>
  51.            <input type="radio" name="wartosc" value="4"  />4<br>
  52.            <input type="radio" name="wartosc" value="3"  />3<br>
  53.            <input type="radio" name="wartosc" value="2"  />2<br>
  54.            <input type="radio" name="wartosc" value="1"  />1<br>
  55.            <input type="submit" style="width:10em; background-color:white; border: 2px solid green; " value="WY&#346;LIJ" name="ok" /></form>
  56.            </p>');
  57.  
  58.  
  59.            //ciag dalszy (drugi skrypt)
  60.                        echo('<div id="linia"><br></div>');
  61.            echo('<h2>&#346;rednia ocen</h2><p>')
  62.            $srednia = file_get_contents($plik_sredniej);
  63.            echo($srednia.'</p>');
  64.            
  65.        }
  66.  
  67.  
  68. ?>


Nie ponoszę odpowiedzialnosci za zniekształcenie w tabulacji oraz wygladzie skryptu.

Ten post edytował obelix94 12.12.2008, 19:54:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 19)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Dziecko.. Czy ty naprawde jesteś tak niedowartościowany, że musisz wrzucać do oceny pare linijek kodu?
Co mamy ci powiedzieć. "Wow ładną czcionkę dobrałeś? Choć tutaj to nie ma żadnego znaczenia...".

Jeżeli działa to działa. Ciesz się.
Poza tym jeżeli masz php5 to uzywaj file_put_contents. Po co się męczyć.
Kod i tak jest brzydki bo gdybyś wlaczyl raportowanie
Kod
error_reporting(E_ALL);
to miałbyś chociaż 1 błąd który widze odrazu. Po drugie nie wiem czy to forum czy ty ale nie ma odpowiednich wcięć.

Ten post edytował wookieb 11.12.2008, 16:41:04
Go to the top of the page
+Quote Post
obelix94
post
Post #3





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

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


No właśnie nie działa. Ten jeden błąd to...

Czytałem, że nalezy dbać o wygląd i funkcjonalnosć do przeróbki. Mimo że to pierwszy kod który tego wymagał, zastosowałem się do porady sprzed roku. http://www.fotosik.pl/pokaz_obrazek/8a62d48843c09082.html. Odpowiedź: forum.
Go to the top of the page
+Quote Post
Kildyt
post
Post #4





Grupa: Zarejestrowani
Postów: 869
Pomógł: 53
Dołączył: 20.10.2003
Skąd: Przeworsk

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


Cytat(obelix94 @ 11.12.2008, 18:55:53 ) *
Czytałem, że nalezy dbać o wygląd i funkcjonalnosć do przeróbki. Mimo że to pierwszy kod który tego wymagał, zastosowałem się do porady sprzed roku. http://www.fotosik.pl/pokaz_obrazek/8a62d48843c09082.html. Odpowiedź: forum.
Zamieszczony kod na screenie IMHO nie jest poprawny. Nie zagłębiałem się w tajne techniki tabulacji (jeżeli takie istnieją). Mam tylko prostą zasadę: coś jest w czymś to ma wcięcie w prawo - proste.

Wybacz, ale zamieszczony przez Ciebie kod nie jest zbyt ładny, a można to zauważyć już w pierwszej linijce kodu. Dbaj o kod i pamiętaj, że nie tworzysz go tylko "na teraz" a i "na jutro" i dla innych programistów.

Nie mieszaj kodu HTML z PHP! Ucz się na błędach (młodzieniec, który napisał tego posta nauczył się na błędzie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ). Tak zorganizuj sobie skrypt, żeby było jasno pokazane co to HTML, a co PHP. Oba języki mają różne przeznaczenie.

Echo to nie jest funkcja! Kurs, który czytałeś mógł zbyt przestarzały. Zaglądnij do dokumentacji PHP.

Znacznik font jest przestarzały!

Nie przestrzegasz tabulacji!

Życzę powodzenia! (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

PS Staraj się przedstawiać jaśniej swoje sprawy na forum. Nie możesz oczekiwać, że za każdym razem będziemy sprawdzać, czy kod jest poprawny. Przeglądaj forum i zobacz jak wyglądają porządne skrypty.
Go to the top of the page
+Quote Post
obelix94
post
Post #5





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

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


Cytat(Kildyt @ 11.12.2008, 20:00:12 ) *
Zamieszczony kod na screenie IMHO nie jest poprawny. Nie zagłębiałem się w tajne techniki tabulacji (jeżeli takie istnieją). Mam tylko prostą zasadę: coś jest w czymś to ma wcięcie w prawo - proste.
Wybacz, ale zamieszczony przez Ciebie kod nie jest zbyt ładny, a można to zauważyć już w pierwszej linijce kodu. Dbaj o kod i pamiętaj, że nie tworzysz go tylko "na teraz" a i "na jutro" i dla innych programistów.


Nie rozumiem. Mozecie mi onjaśnić wasze.... skróty myślowe. (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif)
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Czytaj: inni się uczący mogą kiedyś natrafić na Twój listing z pierwszego posta i znowu będą zadawać pytania, na które była już odpowiedź...

~obelix94, taka dobra rada - więcej samodzielności, ściągnij jakieś warte uwagi skrypty PHP (np. źródła frameworków, popatrz, jak tam kod jest sformatowany, podzielony, jak zaplanowano logikę) i ucz się wg tego. Jak już kiedyś powiedziałem - nie wal z byle pierdołą na forum. Fakt, każdy kiedyś zaczynał, ale zważ na to, że niektórzy w ogóle nie mieli takiego luksusu jak Ty, aby zadawać takie pytania-błahostki. Więcej konsekwencji.

Ten post edytował erix 11.12.2008, 21:15:26
Go to the top of the page
+Quote Post
obelix94
post
Post #7





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

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


Cytat(Kildyt @ 11.12.2008, 20:00:12 ) *
Zamieszczony kod na screenie IMHO nie jest poprawny.
Wybacz, ale zamieszczony przez Ciebie kod nie jest zbyt ładny,  (...)
Nie mieszaj kodu HTML z PHP! Ucz się na błędach ((..)). Tak zorganizuj sobie skrypt, żeby było jasno pokazane co to HTML, a co PHP.
Echo to nie jest funkcja! Kurs, który czytałeś mógł zbyt przestarzały. Zaglądnij do dokumentacji PHP.
Znacznik font jest przestarzały!
Nie przestrzegasz tabulacji!

Dlaczego nie jest ładny?
Jaki był twój błąd?
Zamiast echo to print_r; tak?
Zamiast font to p color
Uważam ze przestrzegam

Co do ciebie erix, dzieki za poradę, na pewno się do tego zastosuje. Pozdrawiam.

PS: strona dostępna jest pod, STRONA wtedy należy kliknąć wiersze (biblioteka -> wiersze tu. I się ukaże... nic. A powinien być tekst jak na stronie głównej. Po dodaniu tego skryptu, wcześniejsza zawartosć się nie wyswietla. Jak komuś pomoże: skrypt ładowny jest z index.php kodem:
  1. <?php
  2. $szare = @ $_GET['id'];
  3. if($szare=='biblio1'){
  4. @ include('specjalne/oceny.php');
  5. }
  6. else{
  7. @ include('glowne/aktualnosci.html');
  8. }
  9. ?>


Zaś główna strona (treść) za pomocą switch, w indexie.

Ten post edytował obelix94 12.12.2008, 09:56:39
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
I się ukaże... nic.

A czytałeś rozdział dotyczący obsługi plików? Bo widzę, że nie; np. do fwrite" title="Zobacz w manualu PHP" target="_manual podstawiasz jeden parametr zamiast dwóch...

Ogólnie, to wynajdujesz koło na nowo; męczysz się z zapisem/odczytem obsługując za każdym razem z osobna. A są metody file_get_contents" title="Zobacz w manualu PHP" target="_manual i file_put_contents" title="Zobacz w manualu PHP" target="_manual, które nie dość, że wygodniejsze, to nieraz wydajniejsze ze względu na wykorzystywanie mapowań pamięci. Ale do tego, to już przydałaby się lektura manuala, którego chyba nie znosisz. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Cytat
Zamiast font to p color

Zapomnij o font; to relikt przeszłości. Ucz się CSS.

Unikaj do tego stosowania małpiszonów przed funkcjami; masz eliminować błędy, a nie je ukrywać.
Go to the top of the page
+Quote Post
obelix94
post
Post #9





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

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


Nieznosze bo jest po angielsku. Niby 5 z angola, a jak przychodzi co do czego...
Nie gadajcie ze jest po polsku, bo to co potrzebuje to wpisać pl.php.net czy php.net.pl to i tak niekiedy jest angielski.
Z tego co zrozumiałem z manuala (na dodatek pl) po angielsku, to to ze file_put_contents otwiera, "upuszcza" "zapisuje" zamyka. Z file_get_contents nic nie zrozumiałem, ale na logikę - pobiera dane.

int file_put_contents ( string $filename , mixed $data [, int $flags [, resource $context ]] )
filename: rozumie, data: ?, flags: rodzaj, tryb, context: ciąg do zapisania (chyba)
dobrze napisałem?

Ten post edytował obelix94 12.12.2008, 17:13:43
Go to the top of the page
+Quote Post
erix
post
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Nieznosze bo jest po angielsku

To daruj sobie programowanie i nie siadaj do komputera, bo 95% dokumentacji jest po angielsku. Tak nawiasem, jeśli przyszłoby Ci kiedyś zdawać ZCE, to po polsku jest tylko "dzień dobry" od pana, co Cię pilnuje, a reszta tylko i wyłącznie po angielsku/francusku/hiszpańsku. Nie znasz angielskiego, będziesz miał duży problem.

Cytat
file_put_contents otwiera, "upuszcza" "zapisuje" zamyka.

Po prostu zapis danych do pliku.

Cytat
file_get_contents nic nie zrozumiałem, ale na logikę - pobiera dane.

Tak

Cytat
filename: rozumiem, data: ?, flags: rodzaj, tryb, context: ciąg do zapisania (chyba)

data = dane.

Bierz się za angielski, bo będziesz zadawał masę niepotrzebnych pytań.
Go to the top of the page
+Quote Post
obelix94
post
Post #11





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

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


Cytat(obelix94 @ 12.12.2008, 17:02:04 ) *
Nieznosze bo jest po angielsku. Niby 5 z angola, a jak przychodzi co do czego...


THX (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Jeszce context, skoro data to dane.

Ten post edytował obelix94 12.12.2008, 17:39:56
Go to the top of the page
+Quote Post
Mize
post
Post #12





Grupa: Zarejestrowani
Postów: 84
Pomógł: 6
Dołączył: 26.03.2008
Skąd: Łódź

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


Człowieku, brak mi słów... wróć za rok, dwa i pochwal się czymś czego się nauczyłeś.
Nie wiem jak można być w drugiej klasie gimnazjum tak nierozgarniętym ludkiem...
Znajdź jeden swój topic z problemem, na który nie ma rozwiązania w pierwszych trzech wynikach z google'a albo w manualu. ;s

Myślę, że rok sam na sam z manualem, dobrze Ci zrobi.
Go to the top of the page
+Quote Post
obelix94
post
Post #13





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

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


Takie osobiste pytanko: skąd wiesz, że jestem w drugiej gimnazjum?
Go to the top of the page
+Quote Post
Mize
post
Post #14





Grupa: Zarejestrowani
Postów: 84
Pomógł: 6
Dołączył: 26.03.2008
Skąd: Łódź

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


OT: Tak wnioskuje po Twoim nicku, a jeśli masz więcej to się lepiej nie przyznawaj. ;o

Zeby nie bylo, ze sam offtopic to dodam, że lepiej spędzić nad kodem tydzień, niż pół godziny.
Bo czytelność i elastyczność kodu powinny być na równi rozwijane z funkcjonalnością.
Go to the top of the page
+Quote Post
obelix94
post
Post #15





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

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


Poprawiłem swój kod. Myślę że bardziej się wam podoba. Niestety nie działa. Jak ustawiam error reporting e-all, też nic nie pokazuje. Błąd polega na tym, że nie zwraca wyników i zatrzymuje reszte skryptów znajdujacych się pod nim.

Ten post edytował obelix94 12.12.2008, 19:53:34
Go to the top of the page
+Quote Post
erix
post
Post #16





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. <?php
  2. if ($_COOKIE['obecny'] == 'byl'))
  3.       {
  4.             $status = 'glosowales';
  5.         }
  6.       else
  7.       {
  8. ?>

W klamrach też panują pewne reguły. Widziałem na niektórych screenach, że używasz czegoś w stylu PHPEditor. Ściągnij sobie Komodo Edit, będziesz widział, gdzie masz błąd parsera.

Myśl więcej, mniej gadaj.
Go to the top of the page
+Quote Post
obelix94
post
Post #17





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

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


Dziekuje. Ten twój "styl na phpeditor" to najzwyklejszy notatnik + kolorowanie składni i odwracanie ś,ź,ę itp na "dziwne znaczki"


CZY MOŻE KTOŚ POMÓC? POWIEDZIEĆ CZEMU TO NIE DZIAŁA?

Doszedłem do wniosku, ze to w tej części kodu coś jest nie tak. Ale za chiny nie mogę się dopatrzeć co jest źle. e reporting nic nie daje.

  1. <?php
  2. if($status == 'glosowales'){
  3.            echo('<div class="secondaryContentBox"><h2>Oceń wiersz</h2><p><font color="red">GŁOSOWAŁEŚ!</font></p> ');
  4.            //ciag dalszy (drugi skrypt)
  5.                        echo('<div id="linia"><br></div>');
  6.            echo('<h2>Średnia ocen</h2><p>')
  7.            $srednia = file_get_contents($plik_sredniej);
  8.            echo($srednia.'</p>');
  9.        }
  10.        else{
  11.            echo('
  12.            <div class="secondaryContentBox">
  13.            <h2>Oceń wiersz</h2>
  14.            <p>');
  15.            echo('<form action="index.php?id=biblio1&lang=pl&wiersz=
  16.            echo($wiersz);
  17.            echo('" method="post"><p>Twoja ocena<br>');
  18.            echo('<input type="radio"  name="wartosc" value="6"  />6<br>
  19.            <input type="radio" name="wartosc" value="5" checked="checked" />5<br>
  20.            <input type="radio" name="wartosc" value="4"  />4<br>
  21.            <input type="radio" name="wartosc" value="3"  />3<br>
  22.            <input type="radio" name="wartosc" value="2"  />2<br>
  23.            <input type="radio" name="wartosc" value="1"  />1<br>
  24.            <input type="submit" style="width:10em; background-color:white; border: 2px solid green; " value="WY&#346;LIJ" name="ok" /></form>
  25.            </p>');
  26.  
  27.  
  28.            //ciag dalszy (drugi skrypt)
  29.                        echo('<div id="linia"><br></div>');
  30.            echo('<h2>&#346;rednia ocen</h2><p>')
  31.            $srednia = file_get_contents($plik_sredniej);
  32.            echo($srednia.'</p>');
  33.            
  34.        }
  35. ?>


Ten post edytował obelix94 13.12.2008, 16:43:32
Go to the top of the page
+Quote Post
Lion_87
post
Post #18





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

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


Cytat
echo('<form action="index.php?id=biblio1&lang=pl&wiersz=


Linia 16 to taki jakis specjalny efekt ?
Go to the top of the page
+Quote Post
Pride
post
Post #19





Grupa: Zarejestrowani
Postów: 139
Pomógł: 11
Dołączył: 31.01.2005
Skąd: Bydgoszcz

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


1.Tak, jak powyżej - dlaczego zamykasz echo w echu? 0o
2. Dlaczego robisz tak:
  1. <?php
  2. echo('Linia 1');
  3. echo('Linia 2');
  4.  
  5. //A nie po prostu tak:
  6.    Linia1
  7.    Linia2
  8.    Linia3
  9.    Linia4';
  10. ?>
Bez tych ( ) oraz zamykania każdej linijki w osobnym echo

3. Jeżeli nie rozumiesz co jest napisane w manualu to... Żegnamy Cię serdecznie na minimum najbliższy rok/dwa lata. (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif) Nie ma sensu, abyś bawił się w programowanie, jeżeli nie masz "możliwości umysłowych" do tego. Najczęściej, gdy ktoś nie wie jak wykonać "to coś", to podawany mu jest link do manual" title="Zobacz w manualu PHP" target="_manual z daną funkcją, która jest w stanie wykonać daną operację. Tak samo jak było w twoim przypadku.

Pozdrawiam.
Go to the top of the page
+Quote Post
Ociu
post
Post #20





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




Crossing post. Zamykam.
Go to the top of the page
+Quote Post

Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 15:08