Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt raz działa raz nie działa...
Forum PHP.pl > Forum > PHP
Piotrek_P
Witam jestem w trakcie pisania funkcji logowania do strony i trafiłem na dziwny problem. Szukałem w necie ale podobnych przypadków nie widziałem.
Wszystko testuję lokalnie bo mam na razie zmienne IP.
Napisałem prosty formularz w pliku index.html. Można się dzięki niemu, klikając w 'zaloguj', zalogować lub, klikając w 'utwórz konto', przenieść się na stronę logowanie.html:

<table border="0" align=center FRAME=void>
<form action="zaloguj.php" method="post">
<tr>
<td style="float: right">hasło: <input type="password" name="pass" /></br></td>
<td style="float: right">login: <input type="text" name="log" /></br></td>
<td><input type="submit" value="zaloguj"></form></br></td>
</tr>
<tr>
<td style="float: right"></td>
<td style="float: right"></td>
<td><input type=button onClick="location.href='logowanie.html'" value='utwórz konto'></br></td>
</tr>
</table>

Plik index.html mogę otworzyć klikając na ten plik bezpośrednio w katalogu na serwerze oraz wpisując http://127.0.0.1./index.html.
Problem polega na tym, że w zależności od otwarcia pliku index.html, skrypt zaloguj.php inaczej działa...

Otwierając plik przez wpisanie http://127.0.0.1./index.html w Mozilli, po kliknięciu w zaloguj przechodzę do strony z jakimiś krzakami: "ഊ偯摡湥潮瑯楥⁩獮楥橥㰯扲v"

Otwierając plik przez kliknięcie pliku index.html w katalogu na serwerze, po kliknięciu w zaloguj przechodzę do strony z printem kawałka kodu ze skryptu:
"; $_SESSION['zmienna'] = 1; } else { echo "Podane konto nie isnieje
"; } } else { print( "Błšd wyboru bazy danych
" ); } } else { print( "Błšd przy podłšczaniu do bazy danych
" ); } mysql_close($connect); ?>

Wszystko działa jednak poprawnie jeśli otworze plik index.html przez wpisanie http://127.0.0.1./index.html w Mozilli, potem muszę klinkąć na przycisk formularza ('utwórz konto'), który przenosi mnie do strony -> logowanie.html. Następnie klikajam wstecz i ponownie jestem na index.html i tym razem klikając w przycisk 'zaloguj' skrypt zaloguj.php działa poprawnie. Łączy się z bazą danych i wszystko gra.
Proszę o pomoc.

Pozdrawiam

vokiel
Cytat
raz działa raz nie działa...

To mi wygląda na skrypt kierunkowskazu wink.gif

Wygląda na to, że jeszcze nie wiesz na jakiej zasadzie działa PHP, że wymaga serwera www z interpreterem. Widzę też, że nie zauważasz różnicy otwarcia pliku z dysku względem otwarcia strony z serwera www. Przede wszystkim musisz poznać podstawy, dopiero jak je poznasz przyjdzie czas na pisanie skryptów. Do czasu zdobycia tej wiedzy będzie to dla Ciebie droga przez mękę, bo co chwila będziesz napotykał na takie problemy.
Niktoś
No i popatrz jak wygląda struktura html,bo ta co przedstawiłeś jest błędna.
Brick
Przedmówcy mają niestety rację. Bez nauczenia się podstaw będziesz się strasznie męczył. Co chwilę będziesz trafiał na różne problemy, błędy itd i szukał całymi godzinami rozwiązania podczas gdy sprawa najczęściej jest banalna i wynika z braku podstawowej wiedzy. Kup jakąś przystępną książkę i przerób przynajmniej połowę a zobaczysz że od razu ruszysz z miejsca.
Mówiąc inaczej - wyważasz już dawno otwarte drzwi

Odnośnie twojego pytania: NIE uruchamiaj skryptów php poprzez kliknięcie czyli klasyczne uruchomienie w windows. W ten sposób możesz uruchomić tylko czysty HTML. Jeżeli w pliku jest choć odrobina PHP to uruchamiasz TYLKO poprzez wpisanie do przeglądarki: http://127.0.0.1./....
Klikając w plik ładuje się on do przeglądarki taki jaki jest bez uruchomienia interpretera PHP. To tak jakbyś plik Worda chciał otworzyć w notatniku.
Piotrek_P
Na początku chciałbym podziękować za wszystkie wpisy.
Nie jest ze mną tak źle jak sądzicie... Ładowałem stronę przez kliknięcie w plik bezpośrednio w katalogu serwera żeby sprawdzić czy mój problem zniknie. Poza tym to nie był plik .php tylko .html. Korzystam już z PHP i MySQL Heliona. Mam wrażenie, że źle się wyraziłem bo nie zostałem zrozumiany... Przedstawię problem ponownie w inny sposób za pomocą przykładów z sieci.

Plik html:
<html>
<head>
<title> poli </title>
</head>
<body>
<form action="pos.php" method="post">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>

Plik pos.php:
<html>
<body>
Welcome <?php echo $_POST["fname"]; ?>!<br />
You are <?php echo $_POST["age"]; ?> years old.
</body>
</html>

wpisuje: http://127.0.0.1./1/po.html
Po kliknięciu submit przechodzę do stony pos.php (http://127.0.0.1./1/pos.php) ale mam na niej krzaki: "㱨瑭氾ഊ㱢潤社ഊഊഊ坥汣潭攠ℼ扲 㸍ਖ਼潵⁡牥†祥慲猠潬搮‍਍਍਼⽢潤社ഊ㰯桴浬"

Php mam poprawnie skonfigurowany bo ładując plik.php z phpinfo( ); wyświetlone zostają informacje o php.

Czy ktoś spotkał się z podobnym problemem?

Pozdrawiam
kaki2308
W head dodaj:
  1. <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">


I upewnij się, że plik masz zakodowany w UTF-8.
MGraphics
Nie chcąc dla Ciebie żle, ale jak pytasz aż o takie podstawy to nie ma najmniejszego sensu pisania skryptów bez przeczytania jakiegokolwiek kursu html na internecie.

Poświęcisz kilka godzin i nie będziesz miał problemów ani z krzakami, ani z poprawnością dokumentu HTML który jest podstawą do pisania czegokowliek.
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.