Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]ksiazka PHP 5, Apache i Mysql - znak \ w adresie
share
post 13.11.2009, 22:47:55
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 13.11.2009

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


witam, ucze sie PHP z ksiazki PHP 5, Apache i Mysql. Jestem w 13 rozdziale i tam sie tworzy cms, ale mam problem juz na poczatku, bo gdy wchodze w przegladarce na localhost, wybieram logowanie i wpisuje poprawne dane to do adresu dolacza sie mi znak "\" i wyglada to tak: http://localhost\/index.php


przyklady mozna sciagnac stad: ftp://ftp.helion.pl/przyklady/phappo.zip

a to chyba chodzi o te fragmenty kodu:
  1. <h1>Logowanie członka stowarzyszenia</h1>
  2.  
  3. <p>
  4. Adres email:<br>
  5. <input type="text" name="email" maxlength="255" value="">
  6. </p>
  7. <p>
  8. Hasło:<br>
  9. <input type="password" name="passwd" maxlength="50">
  10. </p>
  11. <p>
  12. <input type="submit" class="submit" name="action" value="Zaloguj">
  13. </p>

  1. case 'Zaloguj':
  2. if (isset($_POST['email'])
  3. and isset($_POST['passwd']))
  4. {
  5. $sql = "SELECT user_id, access_lvl,name " .
  6. "FROM cms_users " .
  7. "WHERE email='" . $_POST['email'] . "' " .
  8. "AND passwd='" . $_POST['passwd'] . "'";
  9. $result = mysql_query($sql, $conn)
  10. or die('Nie potrafię odnaleĽć informacji o użytkowniku: ' .
  11.  
  12. if ($row = mysql_fetch_array($result)) {
  13. $_SESSION['user_id'] = $row['user_id'];
  14. $_SESSION['access_lvl'] = $row['access_lvl'];
  15. $_SESSION['name'] = $row['name'];
  16. }
  17. }
  18. redirect('index.php');
  19. break;


po zalogowaniu powinien przenosic na index.php ale wlasnie dokleja sie znak "\" i nie wyswietla strony.
to samo jest z wylogowaniem
  1. case 'Wyloguj':
  2.  
  3. redirect('index.php');
  4. break;



Co z tym zrobic? prosze o pomoc


pozdrawiam!!!
Go to the top of the page
+Quote Post
iVorIus
post 13.11.2009, 23:34:12
Post #2





Grupa: Zarejestrowani
Postów: 145
Pomógł: 18
Dołączył: 11.11.2008
Skąd: Pwo

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


Pokaż jak wygląda funkcja redirect.
Wydaje mi się, że ma ona postać:
  1. function redirect($a)
  2. {
  3. header('Location: ' . $a . '\');
  4. }


Plik http.php
  1. function redirect($url) {
  2. if (!headers_sent()) {
  3. header('Location: http://' . $_SERVER['HTTP_HOST'] .
  4. dirname($_SERVER['PHP_SELF']) . '/' . $url);
  5. } else {
  6. die('Nie mogę przekierować. Wysłano już nagłówki (wyjście).');
  7. }
  8. }


Więc tak jak myślałem.
Możesz zrobić goły header, lub stworzyć nową funkcję, która nie będzie dodawała '/'.

Ten post edytował iVorIus 13.11.2009, 23:27:18


--------------------
Chcieć to móc, lecz trudnością jest chcieć, nie móc.
Go to the top of the page
+Quote Post
share
post 14.11.2009, 10:55:41
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 13.11.2009

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


tzn jak to zrobic, bo nie kapuje. Czemu ten znak sie dodaje?

pozdrawiam!!!
Go to the top of the page
+Quote Post
potreb
post 14.11.2009, 11:23:57
Post #4





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Pokaż swoją funkcję redirect, to zakapujesz.


--------------------

Go to the top of the page
+Quote Post
iVorIus
post 14.11.2009, 11:51:51
Post #5





Grupa: Zarejestrowani
Postów: 145
Pomógł: 18
Dołączył: 11.11.2008
Skąd: Pwo

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


Cytat(potreb @ 14.11.2009, 11:23:57 ) *
Pokaż swoją funkcję redirect, to zakapujesz.


Czytanie ze zrozumieniem == FALSE ?

Zobacz mój post wyżej..

Myślę, że to powinno pomóc:
Zmień zawartość funkcji redirect na:
  1. header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);


Lub zamien w kodzie redirecty na kod podany wyżej.

Ten post edytował iVorIus 14.11.2009, 11:58:08


--------------------
Chcieć to móc, lecz trudnością jest chcieć, nie móc.
Go to the top of the page
+Quote Post
share
post 14.11.2009, 12:47:33
Post #6





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 13.11.2009

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


zamienilem to w pliku http.php i juz nie dodaje tego \, ale teraz przenosi na strone transact-user.php i zostaje biale pole, a powinno wrocic do index.php sad.gif

nikt nie korzystal z tej ksiazki i nie mial takiego problemu? te przyklady sa z oficjalnej strony heliona, wiec chyba powinny dzialac normalnie...

pozdrawiam!!!
Go to the top of the page
+Quote Post
iVorIus
post 14.11.2009, 12:57:15
Post #7





Grupa: Zarejestrowani
Postów: 145
Pomógł: 18
Dołączył: 11.11.2008
Skąd: Pwo

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


Wybacz, podałem funkcje bez zmiennej..
  1. function redirect($url)
  2. {
  3. header('Location: http://'. $_SERVER['HTTP_HOST'] . $_SERVER['REDIRECT_URL'] . $url);
  4. }


I możesz dodać to sprawdzanie nagłówków itp.

Ten post edytował iVorIus 14.11.2009, 12:57:46


--------------------
Chcieć to móc, lecz trudnością jest chcieć, nie móc.
Go to the top of the page
+Quote Post
share
post 14.11.2009, 13:11:19
Post #8





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 13.11.2009

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


dziala smile.gif WIELKI THX smile.gif

trzeba tylko jeszcze dodac przed $url . '/' . bo w tym co podales nie dodaje /, ale z tym sobie poradzilem

jeszcze raz thx

pozdrawiam!!!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.07.2025 - 17:56