Prosty projekt w php, czy ktoś pomógłby zrobić?

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
Little Ceres
Posty: 3
Rejestracja: pn kwie 25, 2005 9:38 pm

Prosty projekt w php, czy ktoś pomógłby zrobić?

Post autor: Little Ceres »

Witam.
Potrzebuję bardzo szybko zrobić dosyć prosty projekt, w zakładam ze PHP.
Wygląda on mniej więcej tak:

Istnieje 20 stron (plików) www, każda z nich zawiera w sobie 5 pytań (coś ala quiz, a więc w sumie 100 pytań).
Jak nie zda się pierwszych pięciu pytań bezbłednie, to "quiz" jest przerywany. Gdy się jednak odpowie prawidłowo, przechodzi się do kolejnych pytań.
Za każdą stroną jest zapisywany wynik, np. do pliku txt lub bazy danych, a na koniec się sumuje i podaje go użytkownikowi (lecz nie kasuje!)
Na samym początku przydałoby się jeszcze zrobić coś ala logowanie do sesji, by móc rozróżniać użytkowników, przypisać im numery czy coś takiego.

Nie znam się na języku PHP prawie wcale, a zależy mi na czasie.
Umiem htmla oraz c & c++ więc pewnie nauka nie była by dla mnie czymś niemożliwym.

Nie jestem osobą idącą na łatwiznę, więc nie proszę, by ktoś to za mnie zrobił, chociaz pewnie by było miło, lecz by ktoś poświęcił odrobinę czasu i zrobił to razem ze mną, wyjaśnił w miarę precyzyjnie co gdzie i jak. Byłabym naprawdę bardzo wdzięczna.

Z góry dziękuję za pomoc i proszę o pilny kontakt :wink:
adax2000
Nowy
Nowy
Posty: 31
Rejestracja: ndz kwie 24, 2005 10:11 pm

Re: Prosty projekt w php, czy ktoś pomógłby zrobić?

Post autor: adax2000 »

zależy jaki miałbybyć cel tego quizu jeśli miałoby to być tak tylko dla beki, to nie potrzeba przechowywać nigdzie wyników, logowanie również jest zbędne i wszystko można zrobić w gołym dhtml (html+javascript+css).
Jeśli natomiast masz na myśli komercyjne zastosowanie, przechowywanie wyników, statystyki nagrody itp. To nie jest to już 'mały' projekt.

postaraj się może zadać jakieś konkretne pytanie, bo moim zdaniem nie powinnaś się spodziewać w tym miejscu gratisowego tutoriala krok po kroku jak to zrobić, chociaż kto wie :wink: , nie należy z góry przesądzać

Zacznij może od tego umieszczenia w sieci czegokolwiek i podania linku do tego, tak aby w razie czego czytający mogli śledzić zmiany na bieżąco.
Little Ceres
Posty: 3
Rejestracja: pn kwie 25, 2005 9:38 pm

Re: Prosty projekt w php, czy ktoś pomógłby zrobić?

Post autor: Little Ceres »

No cóż.. nie jest to w żadnym komercyjnym celu, zadnych nagród itp :wink:
Przyjaciel bardzo poprosił mnie, bym mu takie coś załatwiła, a mi zależy na tym, by mu pomóc.
W teorii wyniki mają być przechowywane, a najlepiej wybór każdego z użytkowników. Dowiedziałam się, ze wyniki nie mają być przekazywane użytkownikom, tylko mają być dla świadomości założyciela "quizu".
Więc jakiekolwiek logowanie czy przypisywanie numeru użytkownikowi być musi.

Nie wiem jak te wszystkie strony połączyć. Czy zapisywać to jako pliki html czy php? Siadłam w nocy nad kursem php, lecz jakos nadal nie widzę, bym była sobie w stanie z tym poradzić. Nie wiem jak łączyć to z htmlem.

Najpierw okienko logowania. No to daje nam okienko formularza na jakiejkolwiek stronce html:
<form method="post" action="test/">
<div class="fdesc" style="color: black; margin-top:0px;">Aby wypełnić test, podaj swoje imię i kliknij 'Ok'.</div>

<input name="nick" id="nick" maxlength="30">
<input id="tgo" type="submit" value="Ok">
</form>
Taki kod znalazłam na funteście (chyba nie muszę wspominać co to za witryna ) :-D
Nie orientuję się jeszcze w formularzach, bo nie były mi nigdy potrzebne i używam ich po raz pierwszy, to chcę wiedzieć jedno... Co tutaj decyduje o tym co się dzieje po kliknieciu w przycisk "OK"? Co zapisuje już nam w pliku jakimś nazwę użytkownika? Czy ktoś zna jakiś np javascript, który zapewniłby to, ze nikt nie będzie mógł nie napisać nicka?

Teraz strona z pytaniami. Jak na moją logikę, przedstawia się to w miarę tak:
1. Pytanie piewsze:
<FORM ACTION="http://">
<INPUT type="RADIO" NAME="Odpowiedz 1.1" ALIGN=""> Odpowiedź 1.1<br>
<INPUT type="RADIO" NAME="Odpowiedz 1.2" ALIGN=""> Odpowiedź 1.2<br>
<INPUT type="RADIO" NAME="Odpowiedz 1.3" ALIGN=""> Odpowiedź 1.3<br>
<INPUT type="RADIO" NAME="Odpowiedz 1.4" ALIGN=""> Odpowiedź 1.4<br>
<INPUT type="RADIO" NAME="Odpowiedz 1.5" ALIGN=""> Odpowiedź 1.5<br>
</FORM>
itd...
Tutaj nie podoba mi się to, że można zaznaczyć wszystkie odpowiedzi naraz. Na pewno przyda się tu jakiś skrypt pilnujący, by była zawsze odpowiedz, i zawsze tylko jedna. Nie znam takiego skryptu odwołującego się do formularza, więc jakby ktoś mógł podać, to byłoby mi bardzo miło.
Widać też tu jak byk, ze nie znam się jeszcze na formularzach - prosze tylko spojrzec na parametr action... Ma tu być jakiś link, ale zebym ja wiedziała czy na pewno ma jakiś być?

Kolejna rzecz, to przejscie do każdej następnej strony i zapisywanie wyników podczas takiego przejścia. Jak to zrobić? Przejście do nastepnej strony mogłoby być zwykłym linkiem, ale czy to nie przestanie być już "bezpiecznym połączeniem"? I to zapisywanie mnie nurtuje. Czy zrobić to jako tablicę?

Już niczego nie rozumiem...
Naprawdę, proszę o pomoc... :cry:
adax2000
Nowy
Nowy
Posty: 31
Rejestracja: ndz kwie 24, 2005 10:11 pm

Re: Prosty projekt w php, czy ktoś pomógłby zrobić?

Post autor: adax2000 »

najpierw pytanie filozoficzne: jeżeli nie ma nagrody to czemu ktoś miałby chcieć rozwiązać taki quiz? a jeśli nawet wyniki nie mają być przekazywane użytkownikom to ... bez jaj

następnie praktycznie: o ile mi wiadomo javascript nie oferuje możliwości zapisywania czegokolwiek do pliku/bazy danych więc chcąc nie chcąc tylko php+mysql

a teraz który niekomercyjny serwer da ci php+mysql ?! pomijając zagraniczne (problematyczne) to chyba nie ma takie coś, jak znajdziesz daj znać, każdy by chciał coś takiego, no chyba że chcesz zrobić to na zaliczenie do szkoły to wtedy od razu mów

a szczegóły takie są: wciśnięcie przycisku submit wykonuje akcję action jeśli jest to url (najczęściej) to przekazuje wartości z formularza do następnego pliku (względnie tego samego) który przetwarza te dane (zapisuje)
Little Ceres
Posty: 3
Rejestracja: pn kwie 25, 2005 9:38 pm

Re: Prosty projekt w php, czy ktoś pomógłby zrobić?

Post autor: Little Ceres »

Heh.. następnym razem proszę czytać uważniej :wink:

W pierwszej notce pisałam, ze to ma być coś ala quiz, ankieta, test. Nie powiedziałam, ze to będzie któreś z nich, tylko przyrównałam do wyglądu.
Osobiście podejrzewam, że będzie to jakaś dobrowolna ankieta.

Wiem, ze javascript nie oferuje tego i ze zajmuje się tym php/msql , lecz skąd ten pomysł? Wspominałam o javascriptach w przypadku formularzy jedynie, bo zaobserwowałam, że to często one strzegą tego, że każde pole formularza ma zostać prawidłowo wypełnione.

A co do serwera, no cóż - przyjaciel stwierdził, ze ma kogoś z serwerem, obsługującym php, za mysql nie gwarantował -> skleroza.
Tak więc musiałabym zapisywać wyniki na wszelki wypadek nie do bazy danych, lecz do pliku.

Wspominałam też o moich pobudkach do zrobienia tego małego projektu:
Little Ceres pisze:Przyjaciel bardzo poprosił mnie, bym mu takie coś załatwiła, a mi zależy na tym, by mu pomóc.
I nie jest to do szkoły, jak widać. Gdyby było do szkoły, to pewnie bym musiała znać PHP, a nie znam.
Panczo
Nowy
Nowy
Posty: 42
Rejestracja: śr lip 09, 2003 11:37 pm
Lokalizacja: Sosnowiec

Re: Prosty projekt w php, czy ktoś pomógłby zrobić?

Post autor: Panczo »

Skoro znasz HTML-a i C to nie powinnaś mieć z tym problemu, poszukaj darmowych skryptów w sieci podpatrz jak robią to inni i przerób według własnych potrzeb, tak chyba będzie najprościej
adax2000
Nowy
Nowy
Posty: 31
Rejestracja: ndz kwie 24, 2005 10:11 pm

Re: Prosty projekt w php, czy ktoś pomógłby zrobić?

Post autor: adax2000 »

ekstra rada panczo, każdy marzy, żeby taką dostać ;)

nawet jeśli jest to dobrowolna ankieta to przydałoby się zaprezentować wyniki, powtarzam jeszcze raz, nikt nie będzie tak se, wypełniał 20 stron ankiety, w moim mieście (Gdańsku), po ulicy chodzą ludzie, którzy za takie wypełnienie ankiety dają 2 czekolady (albo chipsy, zależy o czym jest ankieta) a i tak nikt nie ma chęci jej wypełniać.

jeśli mówiłem do szkoły: miałem na myśli, że na swoim własnym (szkolnym) komputerze nie ma problemu, żeby zainstalować apache, php, mysql (np. krasnal). Ale jeśli jakiś wasz znajomy ma serwer to na 100% ma też mysql, bo mysql zawsze jest, ale płatny.

dobra, żeby nie przeciągać tego tematu bo robi się nudny:

[php]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body>
<?php session_start();
if (!isset($odp_str)) {
$numer_pyt=0; $odp_str='';
session_register("odp_str");
session_register("numer_pyt");
} else {
for ($i=1; $i<=5; $i++) {
if (isset($HTTP_POST_VARS['odp'.$i]))
{$odp_str .= $HTTP_POST_VARS['odp'.$i];}
else {$odp_str .= '_';}
}
}
$link = mysql_connect('localhost', 'user', 'password') or die();
//mysql_pconnect byłoby ekonomiczniejsze ale nie zawsze działa
mysql_select_db('quiz',$link);

if (strlen($odp_str)==100) { //100 liczba pytan w bazie
mysql_query("insert into uzytkownicy(odpowiedz) values('$odp_str')");
session_unset();
session_destroy();
echo "dzięki to nara";
} else {
$result = mysql_query('select * from pytania limit '.$numer_pyt.','.($numer_pyt+5), $link);
$numer_pyt +=5;
echo '<form method=post action="quiz.php'.SID.'">';
$i=0;
while ($row = mysql_fetch_array($result,MYSQL_ASSOC)) {
echo $row['id_pytania'].'.'.$row['pytanie'].'<br>'; $i++;
echo '   <input type=radio name=odp'.$i.' value=1>'.$row['odp1'].'</input><br>';
echo '   <input type=radio name=odp'.$i.' value=2>'.$row['odp2'].'</input><br>';
echo '   <input type=radio name=odp'.$i.' value=3>'.$row['odp3'].'</input><br>';
echo '   <input type=radio name=odp'.$i.' value=4>'.$row['odp4'].'</input><br><br>';
}
echo '<input type=submit value="dalej>>"></input>';
echo '</form>';
}
?>
</body>
</html>

[/php]
Panczo
Nowy
Nowy
Posty: 42
Rejestracja: śr lip 09, 2003 11:37 pm
Lokalizacja: Sosnowiec

Re: Prosty projekt w php, czy ktoś pomógłby zrobić?

Post autor: Panczo »

ADAX2000, rada zastosowalem taka ponieważ Little Ceres napisała, że umie HTML-a i C, więc zna podstawy formatowania tekstu w HTML, z czego wynika, że ubranie tego w proste drukowanie znaczników w PHP nie powinno nastręczyć jej większego problemu.
A skoro przyjaciel ją o to prosił to jest napradę mnóstwo darmowych skryptów, ktore wystarczy odpowiednio przygotować, bo jak na mój gust to tu wystarczy skrypt client-side.
Wystarczy przy użyciu JavaScript i CSS poukrywać dalsze pyania i jak wypełniający odpowie to pokazać mu resztę.
Servr-Side potrzebne jedynie do zapisania wyników i tyle.
adax2000
Nowy
Nowy
Posty: 31
Rejestracja: ndz kwie 24, 2005 10:11 pm

Re: Prosty projekt w php, czy ktoś pomógłby zrobić?

Post autor: adax2000 »

cze panczo.
to, że ona napisała, że zna html i c to tak dla tylko beki napisała, nie zauważyłeś?

nie zauważyłeś chyba też, że zamieściłem już gotowy skrypt mający na celu rozwiać wszelkie niejasności w tym temacie. wszystko można zrobić na kilka sposobów, ale ten wydaje mi się najbardziej odpowiadać jej potrzebom.

no to nara
Panczo
Nowy
Nowy
Posty: 42
Rejestracja: śr lip 09, 2003 11:37 pm
Lokalizacja: Sosnowiec

Re: Prosty projekt w php, czy ktoś pomógłby zrobić?

Post autor: Panczo »

adax2000 pisze:cze panczo.
to, że ona napisała, że zna html i c to tak dla tylko beki napisała, nie zauważyłeś?
Wiesz, nie zauważyłem, bo zakładam że ktoś pisząc na forum, chcący uzyskać pomocy, nie pisze czegoś dla beki...
adax2000 pisze: nie zauważyłeś chyba też, że zamieściłem już gotowy skrypt mający na celu rozwiać wszelkie niejasności w tym temacie. wszystko można zrobić na kilka sposobów, ale ten wydaje mi się najbardziej odpowiadać jej potrzebom.
Nie wiem jak się do tego ustosunkować, zauważyłem Twoją odpowiedź, ale ciebie chyba zabolało że się do niej nie odniosłem, chyba powinieneś mieć więcej dystansu do swoich wypowiedzi na forum, bo z tego co napisałeś wynika, że moderatorzy powinni zamknąć temat, bo Ty rozwiałeś wszelkie niejasności...
adax2000
Nowy
Nowy
Posty: 31
Rejestracja: ndz kwie 24, 2005 10:11 pm

Re: Prosty projekt w php, czy ktoś pomógłby zrobić?

Post autor: adax2000 »

być może wyrażam się zbyt lakonicznie i moje posty stają się po części nie zrozumiałe, więc rozwinę moje myśli:

1. jeśli ktoś pisze, że znalazłam na na funteście taki kod: "<form method...", to znaczy jeśli ktoś wogóle musiał szukać takiego kodu, a nawet mówi wprost, że na formularzach się nie zna, to chyba jego znajomość html nie jest powalająca, co ;)

2. znajomość c: no cóż sesje, echo, przeplatanie z html, $HTTP_POST_VARS nie występują w c więc znajomość c jako takiego nie wiele tu pomaga.

3. z 1 i 2. jak również z ogólnego klimatu jej wypowiedzi doszedłem do wniosku, że póki co nie jest w stanie z kilkoma tylko wskazówkami napisać samodzielnie tego quizu, że lepiej będzie jak podam jej gotowy, a później w razie czego wyjaśnię wątpliwości. zresztą sama napisała, że byłoby miło, gdyby dostała gotowy skrypt.

4. co do zaproponowanego, przez ciebie użycia javascript i css to: a) to jest kategoria forum server side, b) sama wyraziła życzenie, że jeśli takowy miałby wystąpić to jedynie do wstępnępnego sprawdzenia wyników tą część sobie podarowałem gdyż a) to jest kategoria forum server side.

5. co do jej potrzeb: sądzę, że mój skrypt jako taki zakończył dyskusję w sensie programistycznym, bo little cares nie dała już potem żadnego posta, czyli domniemuję, że w pełni ją zadowolił taki jaki jest.

6. co do naszej nie kończącej się dyskusji. zastanów się kogo obchodzi nasza dyskusja, pamiętaj, że korzystamy z gościnności forum, ma ono swoje reguły, założeniem jest, że umieszczone tu posty mają mieć korzyść dla większej ilości osób, i teraz jeśli taka osoba (np. szukająca skryptu na quiz) wejdzie na ten topic to zobaczy tą dyskusję, która a) do niczego nie prowadzi b) nie jest na temat (serwer side, quiz) c) nie przedstawia większych walorów dla osób bezpośrednią w nią nie zaangażowanych. Jako moderator (gdybym miał tu takie uprawnienia) nie zamykałbym tego forum, bo być może ktoś doda tu kiedyś choćby za rok jak pytanie na temat, ale te nasze posty to bym skasował.

7. jeżeli masz jakiś problem programistyczny załóż sobie nowy topic i tam go przedstaw, jak będę mógł coś doradzić to zrobię to. Jak chcesz ogólnie sobie pogadać spróbuj któreś z off topiców albo jakiś czat na wp czy coś

a póki co

pozdrawiam nara
Panczo
Nowy
Nowy
Posty: 42
Rejestracja: śr lip 09, 2003 11:37 pm
Lokalizacja: Sosnowiec

Re: Prosty projekt w php, czy ktoś pomógłby zrobić?

Post autor: Panczo »

ADAX2000 że też Ci się chcialo pisać takiego posta...
Zgadzam się z Tobą w jednym, że ta dyskusja absolutnie nic nie w nosi pod kątem merytorycznym do tego forum którego gościnnośc oboje mocno nadwyrężyliśmy...
Chce jednak zwrócić Ci uwagę na pewną rzecz której nie zauważyłeś. Więc po pierwsze ironicznie wyrazileś się o mojej radzie jaką dałem autorce tematu więc teraz ja Ci wypunktuje mój punkt widzenia

1. Little Ceres napisała Umiem htmla oraz c & c++ więc pewnie nauka nie była by dla mnie czymś niemożliwym
więc załozyłem że gotowy przykład których pełno w internecie spokojnie jej wyjaśni co i jak, a ewentualne problemy opisze w tym Temacie.

2. Później napisała, że nie radzi sobie z formularzami w HTML-u, ale jak sam zauważyleś nie jest to forum poświęcone HTML-owi, a skoro zna podstawy to nauczenie się kilku dodatkowych znaczników nie sprawi jej klopotu.

A co do Twoich punktów to:

1. W C nie ma echo i innych klimatów z tym związanych, ale znając jakikolwiek język programowania i podstawy HTML pisanie tego typu prostych rzeczy w PHP nie jest niczym trudnym. i C pomaga jak najbardziej, a wiedza teoretyczna na temat HTTP to już inna brocha...

2. Zaproponowałem jej użycie client-side jako alternatywy, bo jak wyrazila sie w pierwszym poście ktoś jej zasugerował że to PHP jest najodpowiedniejsze. I kategoria forum nie ma tu nic do rzeczy.

3. Podałeś gotowy skrypt, chwała Ci za to że chcialo Ci sie go pisać, ale skoro ktoś pisze, że nie chce iść na łatwizne, to nic mu się nie stanie jak poszuka trochę na necie, mi to zajeło niecałe 5 minut znalezienie prostego quizu w oparciu o pliki tekstowe. Efekt jest taki sam jak mojej rady, no chyba że zaprzeczysz, ale nie widzę w twoim opisie szczegółowego opisu krok po kroku co robisz, więc większej różnicy nie ma.

4. jesteś niekonsekwentny, bo autorka prosiła o rozwiązanie w oparciu o pliki tekstowe, a ty stwierdziłeś że o MySQL to bezpłatnie niemożliwe ale jedyne rozwiązanie to PHP+MySQL czym wprowadziłeś ją w błąd, bo jest kilka innych mozliwości rozwiązania tego "problemu"

5. Dla mnie efekt twoich rad wg. mnie jest taki sam jak mój.

Na zakończenie tylko napisze, że jestem przeciwny dawania gotowych rozwiązańn na forum bo od tego są bazy skryptów w internecie, a forum ma pomagać rozwiązywać problemy a nie wyręczać kogoś w pracy.
I zawszezakładam,że jak ktoś prosi o pomoc to nie pisze nic dla beki, bo dostaje odpowiedź nieadekwatną do swoich umiejętności, zapewniam Cię że gdyby Little Ceres napisała, że jest całkowicie zielona w temacie DHTML-a, skryptów itd. otrzymałaby zupełnie inną odpowiedź.

Pozdrawiam
Michał
adax2000
Nowy
Nowy
Posty: 31
Rejestracja: ndz kwie 24, 2005 10:11 pm

Re: Prosty projekt w php, czy ktoś pomógłby zrobić?

Post autor: adax2000 »

mógłbym poraz kolejny odpowiedzieć na te same pytania, ale to spowoduje twoją replikę i wtedy moją i twoją i moją ;) jakby nie patrzył to jest jak gra w kółko i krzyżyk
i nikt tu nic nie wygra. W związku z czym proponuję tobie jeszcze raz otwórz nowy topic z jakimś ciekawym zagadnieniem informatycznym, i tam będziemy go fajnie rozwijać z obupólną korzyścią. Tu problem jest taki, że ludzie zadają pytania na które nie chcą odpowiedzi, albo wstawiają skrypty do poprawki, które działają, albo skrypty gdzie są bardzo prozaiczne błędy w stylu nie zamknięty cudzysłów itp. przejrzyj moje posty na innych forach to będziesz wiedział o czym mówię.
Panczo
Nowy
Nowy
Posty: 42
Rejestracja: śr lip 09, 2003 11:37 pm
Lokalizacja: Sosnowiec

Re: Prosty projekt w php, czy ktoś pomógłby zrobić?

Post autor: Panczo »

Przyznaję, ze troche mnie poniosło i pro publico bono odpuszczam, a następnym razem napiszę coś bardziej związanego z programowaniem...
W sumie to przeprosiny należą się Little Ceres, bo śledząc własny topic niewiele skorzystała. Ją przepraszam w szczególności.
A co do Ciebie ADAX2000 to równy z ciebie gość, rzadko można się z kimś zetrzeć na tzw. poziomie słownym.

Pozdrawiam
Michał
joka2
Nowy
Nowy
Posty: 62
Rejestracja: śr lis 15, 2006 5:02 pm
Kontakt:

Cos mi nie dziala.

Post autor: joka2 »

Odgrzebalem temat, sorki.

Skopiowalem calosc do quiz.php i stworzylem baze quiz, w ktorej to stworzylem dwie tabelki: pytania i uzytkownicy. Niestety porazka:

Warning: Cannot send session cookie - headers already sent by (output started at C:\usr\www\quiz\quiz.php:9) in C:\usr\www\quiz\quiz.php on line 9

Warning: Cannot send session cache limiter - headers already sent (output started at C:\usr\www\quiz\quiz.php:9) in C:\usr\www\quiz\quiz.php on line 9

Cos z ciasteczkami.

Bardzo prosze o pomoc.
Dziękuję.
ODPOWIEDZ