Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Skrypt logowania
vegeta
post 9.11.2008, 13:47:19
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 9.11.2008

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


Mam problem ze skryptem logowania.

Przy poprawnym logowaniu wyświetla mi się:
Warning: Cannot modify header information - headers already sent by (output started at F:\Adam\WebServ\httpd\via\index.php:8) in F:\Adam\WebServ\httpd\via\index.php on line 17

I nie chce przejść do index2.php

Kod index.php


  1. <meta http-equiv="content-type" content="text/html;charset=UTF-8">
  2. <meta http-equiv="Content-Language" content="pl">
  3. <img src="logo.png">
  4.        <?php
  5.        $dbh = mysql_connect("localhost", "root", "haslo");
  6.        $db = mysql_select_db("via");
  7.        if(isset($_POST['ok']) AND isset($_POST['login']) AND isset($_POST['pass'])){  
  8.        $login = $_POST['login'];
  9.        $pass = $_POST['pass'];
  10.        $mysql = mysql_fetch_array(mysql_query("select `ID` from `konta` where `login` = '$login' AND `password` = '$pass' limit 1"));
  11.        if($mysql != NULL){
  12.        $_SESSION["login"] = $login;     //<------ Linia 17
  13.        header("Location: index2.php");
  14.        }
  15.        else {
  16.        echo 'Wysąpił błąd podczas logowania!';
  17.        }
  18.        }
  19.        else {
  20.        ?>
  21.        <form action='' method='POST'>
  22.        Login: <input type='text' name='login'><br />
  23.        Hasło: <input type='text' name='pass'>
  24.        <input type='submit' name='ok' value='Zaloguj'>
  25.        </form>
  26.        <?php
  27.        }
  28.        ?>


Jak widać w pliku mam kodowanie UTF-8, zapisałem też plik w kodowaniu UTF-8 (w notatniku). Proszę o pomoc.


---------------- Edited by Ociu
Proszę używać odpowiedniego bbCode. To Twój ostatni temat, w którym poprawiam bbCode.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
l0ud
post 9.11.2008, 13:50:02
Post #2





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Zapisz plik w UTF8 bez BOM (notepad++ ma taką opcję).

Problem leży jednak w czym innym. Aby wysłać nagłówki, nic wcześniej nie może zostać wysłane do przeglądarki. Ty wysyłasz chociażby te znaczniki META. Musisz zadbać, aby skrypt znalazł się na samym początku dokumentu.


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
vegeta
post 9.11.2008, 13:59:07
Post #3





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 9.11.2008

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


Dobra skrypt juz nie wyświetla blędów, przechodzi nawet do index2.php smile.gif

Ale w index2.php mam taki skrypt:
  1. <?php
  2.            session_start();
  3.            if(isset($_SESSION['login'])){
  4.            $login = $_SESSION['login'];
  5.            echo 'Witaj '.$login.'!';
  6.            }
  7.            else {
  8.            echo 'Niestety, nie masz praw do przeglądania tej strony!';
  9.            }
  10.            ?>


Ale ten skrypt mam w tabeli. Przeniosłem skrypt na początek pliku i nie wyświetla się nic po zalogowaniu. Tylko te tabele. A co do tego zapisu w Notepadzie, to powiedz mi dokładniej jak to się robi, bo nie mogę znaleźć
Go to the top of the page
+Quote Post
l0ud
post 9.11.2008, 17:32:30
Post #4





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Podejrzewam że zapomniałeś o session_start() w pliku index.php

W notepadzie++ masz taką opcję: Konwertuj na utf8 bez BOM w menu format smile.gif


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Gallareton
post 10.11.2008, 10:54:07
Post #5





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 11.03.2007
Skąd: Gliwice

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


Jest jeszcze inna opcja, ktorej ja bardzo czesto uzywam. Na poczatku skryptu wpisz funkcje ob_start(); a na samym koncu ob_enf_flush(); i wszystko na ten temat. Mozesz wysylac headerow ile chcesz (ja w funkcjach uzywam headerow do odswiezenia strony, czesto po kilka na strone mam).

Ten post edytował Gallareton 10.11.2008, 11:20:14


--------------------
Mowa jest srebrem, a milczenie złotem...
Lepiej milczeć i wydać się głupim, niż odezwać i rozwiać wszelkie wątpliwości...
Go to the top of the page
+Quote Post
vegeta
post 12.03.2009, 21:30:41
Post #6





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 9.11.2008

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


Problem rozwiązany już daaawno temu winksmiley.jpg Thx
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: 14.08.2025 - 05:17