Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt dziala na jednym serwerze a na drugim nie dlaczego
Forum PHP.pl > Forum > PHP
rzseattle
ten prosciutki skrypt z haslem dziala na jednym serwesze (FoxServ-APACHE) a nie dziala na serwerze wina2000. Moze ktos wie dlaczego?
-----------------------------------------------------------------------------------
if ($czy_datkowe_haslo=='tak')
{

if ($dodatkowe_haslo != 'kotek')
{

print "
<B>TA OPCJA WYMAGA DODATKOWEGO HASŁA</B><br><br>
<TABLE border>
<form ACTION='opcje.php' method='post'>
<TR><TD>Podaj hasło:</td><TD><input type='password' name='dodatkowe_haslo'></TD>
<input TYPE='hidden' name='cowykonac' value='$cowykonac'>
<input TYPE='hidden' name='czy_datkowe_haslo' value='tak'>
<td><input TYPE='submit' value='OK'></TD></TR>
</table>
</FORM>";
print"
<BR>
<HR>
<FORM ACTION='opcje1.php' method='post'>
<input TYPE='submit' CHECKED value='Wróć' style='width:150px;' >
<input TYPE='hidden' name='id_klasy' value=''>
<input TYPE='hidden' value='' name='rocznik' >
<input TYPE='hidden' value='' name='litera_id' >
</form>";
exit;
}

}
castor
Cytat
ten prosciutki skrypt z haslem dziala na jednym serwesze (FoxServ-APACHE) a nie dziala na serwerze wina2000. Moze ktos wie dlaczego?


nie rozumiem twojego pytania:

apache to serwer i stoi tam gdzie go postawisz :-)
u mnie na w2k(win2000)

win2000 to systam operacyjny zawiera on IIS ale jesli nie masz zainstalowanego php i wlaczonego serwerka to nici.

Wiec jeszcze raz:
w jakim otoczeniu dziala a gdzie nie?

odpowiedz:
tam gdzie masz zainstalowane php
rzseattle
Nigdy nie mialem do czynienia z Winem2000, poprostu wiem ze jest on zainstalowany na serwerze na ktorym umieszczam stronke. Mowiac "serwer wina2000" chodzilo mi wlasnie o serwer standartowy tego systemu.


A co do zainstalowanego php, to az takim laikiem nie jestem. Zrobilem caly serwis z php+Mysql (pod nazwa Wirtualny Dziennik -- praca dyplomowa hehe).

Po prostu dziwi mnie ze cos dziala u mnie w domu a na serwerze na ktorym umieszczam taki sam skrypt to nie chce dzialac. Dziwne nieprawdaz?

A jak chcesz zobaczyc o co mi konkretnie chodzi to wejdz na:
http://zsz2.tychy.net.pl/rzseattle/admin.php
Jak wejdziesz do "opcji" i naciszniesz "inne" to wlasnie powinno sie pojawic okienko z dodatkowym haslem.
em1X
a moglbys napisac co ci nie dziala. I jakie wersje php sa zainstalowane na obu serverach
rzseattle
konkretnie chodzi o to ze kod (ktory podalem wyzej) jest jekby omijany przez serwer i sie nie wykonuje. To dziwne zwlaszcza dlatego ze wszystkie inne w tym samym pliku dzialaja.

Nawet formularz prowadzacy na stronke wydaje mi sie byc wporzasiu:
np.

<form ACTION='opcje.php' method='post'>
<input TYPE='submit' value='Usuń wychowawce' style='width:300px;'>
<input TYPE='hidden' name='cowykonac' value='usunwychowawce'>
<input TYPE='hidden' name='czy_datkowe_haslo' value='tak'>
</FORM>
em1X
no to nie wiem :/
rzseattle
Wlasnie odkrylem blad. A jest on taki:

w formularzu i instrukcji "if" zmienna wyglada nastepujaco:

'czy_datkowe_haslo'

Niestety tak sie zlozylo ze jest tam blad i musiiala by ona nosic nazwe:
'czy_dodatkowe_haslo'

U mnie to dzialalo poniewaz moja wersja php nie potrzebuje instrukcji:
HTTP_POST_VARS

Niestety wersja na serwerze potrzebuje tej instrukcji a ona wygladala nastepujaco:
$czy_dodatkowe_haslo= $HTTP_POST_VARS["czy_dodatkowe_haslo"];

a wiec mala rozbierznosc w nazwach zmiennej pobieranej a zmiennej w formularzu i instrukcji "IF".

Troche mi wstyd, ze tego wczesniej nie zauwazylem :oops: ale tak to jest kiedy obrabia sie duzo kodu i jedzie sie na ctr+c i ctr+v.


Przepraszam wszystkich za zamieszanie.
castor
Cytat
Wlasnie odkrylem blad. A jest on taki:

w formularzu i instrukcji "if" zmienna wyglada nastepujaco:

'czy_datkowe_haslo'

Niestety tak sie zlozylo ze jest tam blad i musiiala by ona nosic nazwe:
'czy_dodatkowe_haslo'


takie literowki i ty od nas oczekujesz ze my ci je znajdziemy biggrin.gif

w w tym skrypcie ktory podales wszedzie bylo to datkowe :wink:

Cytat
U mnie to dzialalo poniewaz moja wersja php nie potrzebuje instrukcji:
HTTP_POST_VARS

Niestety wersja na serwerze potrzebuje tej instrukcji a ona wygladala nastepujaco:
$czy_dodatkowe_haslo= $HTTP_POST_VARS["czy_dodatkowe_haslo"];

a wiec mala rozbierznosc w nazwach zmiennej pobieranej a zmiennej w formularzu i instrukcji "IF".

Troche mi wstyd, ze tego wczesniej nie zauwazylem :oops: ale tak to jest kiedy obrabia sie duzo kodu i jedzie sie na ctr+c i ctr+v.


Przepraszam wszystkich za zamieszanie.


napisz dokladnie na jakich wersjach php pracujesz w domu i na serwerze ?
bo niespotkalem sie z tym ze trzeba uzywac

$HTTP_POST_VARS["czy_dodatkowe_haslo"]

zamiast

$czy_dodatkowe_haslo

interesuje mnie to :?:
rzseattle
:oops: WIEM WIEM :oops:

Glupia literowka wylapal bym ja gdyby nie to ze u mnie dzialalo.


Co do HTTP_POST_VARS

Wlasnie sprawdzilem i mam taka sama wersje php co ten drugi serwer. Moze to wiec zalezec od typu serwera.

Wiem ze jak tego nie uzywalem to nie widzial zadnych zmiennych przekazywanych formularzem. Jak dodalem ta komende to wszystko zaczelo grac i buczec.
(w domu jej nie uzywalem i wszystko dzialalo poprawnie)

Acha i HTTP_POST_VARS dziala tylko wpisane duzymi literami (przynajmniej w moim przypadku)
castor
fajnie by bylo jak by ktos wiedzial jaka roznica w konfiguracji czego powoduje te zmiany i podpowiedzial by nam o tym. :wink:

bo jak juz pisalem ja sie z takim problemem jeszcze nie spotkalem
pshemo
:idea: witam, i podpowiadam
:idea:
standardowo uzywajac formularzy, php sam tworzy zmienne o nazwach zgodnych z nazwami pol formularza, jednak to jest wersja "malo bezpieczna" (tworzone zmiennne sa globalne automatycznie).

w pliku php.ini jest zmienna register_globals, standardowo jest ustawiona na ON,
jesli damy OFF, dane z formularza beda przekazywane tylko w globalnej systemowej tablicy $HTTP_POST_VARS albo $HTTP_GET_VARS (zalezy od metody), natomiast powyzszy sposob (ten latwiejszy - tylko z nazwami zmiennych) nie zadziala - to jest ponoc bezpieczniejsze...

w pliku php.ini jest maly komentarz na ten temat, a ogolnie odsylam do manuala biggrin.gif

aha, ode mnie dodam jeszcze ze od wersji 4.1 php, tablica $HTTP_POST_VARS jest zastapiona przez $_SESSION (w zasadzie szybciej sie pisze biggrin.gif )

pozdrawiam
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.