Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]LOGOWANIE
Forum PHP.pl > Forum > PHP
junior207
Witam wszystkich mam pewien problem z logowaniem.Mam pierwszą stromkę index.html a w nim:
Kod
<html xmlns="http://www.w3.org/1999/xhtml">
     <head>
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
     <link rel="stylesheet" type="text/css" href="style.css" />
     <script type="text/javascript" src="pliki/imieniny.js">
     </script>
     <?xml-stylesheet type="text/css" href="style.css" ?>
     </head>
     <body xml:lang="pl">
     <div><img src="pliki/dzienniczek.gif" style="margin-left:200px" alt="dzienniczek" /></div>
     <p class="tekst"><b>N</b> a tej podstronie rodzice mogą przeglądać na bierząco oceny uczniów,
     oraz uwagi nauczycieli na ich temat.
    
     <b>S</b>ą trzy poziomy logowania: rodzic, nauczyciel i administrator. Proszę wybrać odpowiedni.</p>
    
    
     <form action="log.php" method="post">
     <table style="width:100%;">
     <tbody>
    
     <tr>
     <td style="width:500px;padding-left:100px;">
     <table style="width:350px;border:1px black solid; background-color:#dedcae">
     <tbody>
            <tr>
                <td><span class="tekst">opcje logowania: </span></td>
                <td>
                <select name = "user" style="background-color:#d7d5ac;color:#4d4a03;">
                             <option value="rodzic" >rodzic</option>
                             <option value="nauczyciel">nauczyciel</option>
    
                             <option value="administrator">administrator</option>
                </select>
                </td>
            </tr>
            <tr>
                <td><span class="tekst">Login:</span></td>
                <td><input type="text" style="background-color:#d7d5ac;color:#4d4a03;" size="25px " name="log" /></td>
            </tr>
    
            <tr>
                <td><span class="tekst">Hasło:</span></td>
                <td><input type="password" style="background-color:#d7d5ac;color:#4d4a03;" size="25px " name="pass" /></td>
            </tr>
            <tr>
                <td>
    
                </td>
                <td>
     <input type="submit" style="background-color:#d7d5ac;color:#4d4a03;font-weight:bold;" value= " logowanie " /></td>
    
             </tr>
     </tbody>
     </table>
     </td>
     </tr>
     </tbody>
     </table>
    
     </form>
    
     <div id="pasek3">
               <span style="color:white;font-size:10px;font-family:verdana,'times new roman';vertical-align:top">
               Copyright &copy; 2009 Michał Sztybor &nbsp;&nbsp;&nbsp;
               </span>
          </div>
         <p class="tekst">Preferowana przeglądarka Mozilla Firefox </p>
    
          <div><img src="pliki/firefox.gif" alt="firefox" style="padding:5px;" /></div>
     </body>
     </html>

w pliku log.php mam napisane:
Kod
<?php
      $baza = mysql_pconnect("mysql.cba.pl","***","***")  or die ("nie mozna polaczyc sie z serwerem");
      mysql_select_db("petrykozy_dzienniczek_y0_pl") or die ("nie mozna polaczyc sie z wybrana baza");
  
  
      $login = $_POST['log'];
      $haslo = $_POST['pass'];
  
       if($user=="administrator")
       {
           $zapytanie="select login, haslo from admin where login = '$login' and haslo = '$haslo'";
           $wynik=mysql_query($zapytanie) or die ("niepoprawne zapytanie1");
           $ile = mysql_num_rows($wynik);
           if($ile==1)
           {
           $zapytanie="update admin set status = 1 where login = '$login' and haslo = '$haslo'";
           $wynik=mysql_query($zapytanie) or die ("niepoprawne zapytanie1");
           mysql_close($baza);
           header("Location: admin.php");
           exit;
           }
           else
           {
               header("Location: dzienniczek.php?blad=ok");
               exit;
           }
       }
       elseif($user=="nauczyciel")
       {
           $zapytanie="select login, haslo from nauczyciel where login = '$login' and haslo = '$haslo'";
           $wynik=mysql_query($zapytanie) or die ("niepoprawne zapytanie1");
           $ile = mysql_num_rows($wynik);
           if($ile==1)
           {
           $zapytanie="update nauczyciel set status = 1 where login = '$login' and haslo = '$haslo'";
           $wynik=mysql_query($zapytanie) or die ("niepoprawne zapytanie1");
           mysql_close($baza);
           header("Location: nauczyciel.php");
           exit;
           }
           else
           {
               header("Location: dzienniczek.php?blad=ok");
               exit;
           }
       }
       elseif($user=="rodzic")
       {
           $zapytanie="select login, haslo from uczen where login = '$login' and haslo = '$haslo'";
           $wynik=mysql_query($zapytanie) or die ("niepoprawne zapytanie1");
           $ile = mysql_num_rows($wynik);
           if($ile==1)
           {
           $zapytanie="update uczen set status = 1 where login = '$login' and haslo = '$haslo'";
           $wynik=mysql_query($zapytanie) or die ("niepoprawne zapytanie1");
           mysql_close($baza);
           header("Location: rodzic.php");
           exit;
           }
           else
           {
               header("Location: dzienniczek.php?blad=ok");
               exit;
           }
           include("rodzic.php");
       }
   ?>
Czemu po zalogowaniu wyskakuje biała strona. Wydaje mi się że wszystko jest dobrze napisane. Czekam na podpowiedzi.
erix
Cytat
Wydaje mi się że wszystko jest dobrze napisane.

Sprawdź składnię tak, abyś był pewien, a nie żeby się tylko wydawało.

Kod
$baza = mysql_pconnect("mysql.cba.pl","***","***")  or die ("nie mozna polaczyc sie z serwerem");

A darmowe hostingi udostępniają stałe połączenia, a tym bardziej zewnętrzne...?
junior207
Cześć Erix. Zapomniałem się i podałem hasła dzieki za zwrócenie uwagi na to.Przejżałem to dokładnie jeszcze raz i jestem pewien że jest dobrze napisane. Jednak nadal nie wiem czemu wyskakuje biała strona gdy chę się zalogować.
erix
Cytat
Przejrzałem to dokładnie jeszcze raz i jestem pewien że jest dobrze napisane

Nie przeglądaj, tylko użyj programu, który sprawdza składnię. Człowiek ma to do siebie, że popełnia błędy.

A jeśli składnia będzie ok - sprawdzaj od szczegółu do ogółu - die('tu'); i przechódź dalej póty, póki będzie pusta strona. Trafisz wtedy na felerną linijkę.

Poza tym, używaj poprawnego bbcode.
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.