Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt logowania
Forum PHP.pl > Forum > Przedszkole
Grabki
Jestem w trakcie robienia strony i cały dzień się męczę ze skryptem logowania. Problem następuje w momencie rejestracji. Trzeba wpisać login i hasło i na początku po kliknięciu rejestruj przenosiło mnie na strone główną a teraz udało mi się zrobić że zostaje na tej stronie ale neistety nie rejestruje i nie daje komunikatu że zarejestrowano lub że sie nei udało. Z logowaniem miałem podobny problem że przenosiło na głowną stronę, ale udało mi się zrobić że wyświetla błąd.
Błagam was o pomoc z tą rejestracją. Dopiero od kilku lat umiem robić strony ale szybko się uczę, lecz niestety nie wiem w czym tkwi problem.

index.php
CODE
<?
include "session.php";
?>
<html>
<title>Orange</title>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
<link rel="stylesheet" href="style.css" type="text/css">

...nic waznego...


<td valign="top">
<table cellpadding="0" cellspacing="0" class="brd">


<?php
if ( $_GET['page'] == "" ){
include("head.php");
}

if ( $_GET['page'] == "registration" ){
include("registration.php");
}

if ( $_GET['page'] == "registration2" ){
include("registration.frm");
}

if ( $_GET['page'] == "logout" ){
include("logout.php");
}

if ( $_GET['page'] == "login" ){
include("login.php");
}
if ( $_GET['page'] == "login2" ){
include("login.frm");
}

?>

</table>

</td>

<td valign="top">
<table cellpadding="0" cellspacing="0" class="brd">
<tr><td class="m">Logowanie</td></tr>
<tr><td><div class="linki">
<?
include "logowanie.php";
?>


</div>
................
</html>



sesion.php
CODE
<?
session_start();

include "func.php";

switch ($page)
{
case "login" :
$login = htmlentities(substr($_POST["login"], 0, 255));
$passwd = htmlentities(substr($_POST["passwd"], 0, 255));
login($login, md5($passwd));
break;

case "logout" : logout();
break;
}
?>



logowanie.php
CODE
<?
if(!auth())
{
include "login.frm";
print "&raquo; <a href=\"index.php?page=registration&".SESID."\">Nowe konto</a>\n";

}
else
{
print "&raquo; <a href=\"index.php?page=logout&".SESID."\">Wyloguj [" . $_SESSION["USER_LOGIN"] . "]</a>";
}
?>


registration.php
CODE
<tr><td class="m2">Rejestracja</td></tr>
<tr><td width="600"><div class="newsy">

<table border=1 width=100%>
<tr><th align=center>
..:: Rejestracja ::..
</th></tr>
</table>


<?
$result = False;
if($submit)
{
if(!$login || !$passwd)
{
echo "<p class=error align=center>Wszystkie pola są obowiązkowe.</p>\n";
}
elseif(!eregi("^[_[:alnum:]-]{1,10}$",$login))
{
echo "<p class=error align=center>Nieprawidłowy login.</p>\n";
}
elseif(!eregi("^[_[:alnum:]-]{3,10}$",$passwd))
{
echo "<p class=error align=center>Niepoprawne hasło.</p>\n";
}
elseif(user_exists($login))
{
echo "<p class=error align=center>Login \"$login\" jest już zajęty.</p>\n";
}
else
{
$result = True;
// formatuje wprowadzone dane
$login = strtolower($login);
add_user($login, md5($passwd));

// informacjie o nowym koncie
echo "<p class=ok align=center>Konto zostało utworzone.</p>\n";
echo "Jeśli zapomnisz hasło to koniec :-), wszystkie hasła są kodowane. ";
echo "Możesz teraz się zalogować i przetestować konto.";
}
}

if(!$result)
{
// usówa tagi html z formularza
$login = htmlentities(substr($_POST["login"], 0, 255));
include "registration.frm";
}
?>
</div>
</td></tr>


registration.frm
CODE

<FORM action="index.php?page=registration" method="post">
<INPUT type="hidden" name="page" value="registration">
<INPUT type="hidden" name="<?=SESSION_NAME()?>" value="<?=SESSION_ID()?>">


<TABLE border=0 cellspacing=0 align=center>


<tr><td align=right>
<b>login</b>
</td><td>
<INPUT type="text" name="login" value="<?=$login?>">
</td></tr>


<tr><td align=right>
<b>hasło</b>
</td><td>
<INPUT type="password" name="passwd" value="<?=$passwd?>">
</td></tr>


<tr><td colspan=3 align=center>
<INPUT type="submit" name="submit" value="Rejestruj">
</td></tr>

</TABLE>
</FORM>

<!-- legenda -->
<b>Legenda:</b><p>
<b>Login</b> - może zawierać znaki alfanumeryczne, znaki podkreślenia i myślniki.
Wielkość liter nie ma znaczenia, a liczba znaków zawiera się w przedziale od 1 do 15.<br><br>

<b>Hasło</b> - pamiętaj, małe litery i duże litery to zupełnie różne litery :-),
liczba znaków od 3 do 15, reszta jak wyżej.<br><br>


strona wygląda tak: www.testele.yoyo.pl


Błagam pomóżcie 6 godzin sie z tym męczyłem.
Kildyt
Nie masz zadeklarowanej zmiennej submit w registration.php.
Na przyszłość staraj się nie mieszać HTML-a z PHP. Jeżeli błąd nadal występuje sprawdź od jakiego momentu skrypt działa nie po twojej myśli. Wpisuj np. w niektórych miejscach jakiś próbny tekst i sprawdź metodą prób i błędów gdzie dochodzi, a gdzie już nie.
Grabki
Kod
<?
$result = False;
if($submit)
{
  if(!$login || !$passwd)
  {
    echo "<p class=error align=center>Wszystkie pola są obowiązkowe.</p>\n";


A to nie jest zadeklarowanie zmiennej?? Jeśli nie to jak mam ją zadeklarować?
Kildyt
Popatrz na warunek. Jeżeli zmienna submit istnieje to... Nigdzie wcześniej jej nie zadeklarowałeś.
Cysiaczek
Przenoszę na Przedszkole.
Grabki
A mógłbyś mi napisać gdzie i jak ją zadeklarować? Byłbym ci wdzięczny.

bardzo prosze o pomoc
phpion
Zmień:
  1. if($submit)

na:
  1. if (isset($_POST['submit'))
Grabki
Już jest lepiej. Był błąd, ale za submit dalem ] i jest lepiej, ale gdy wypełnie pola to wyświetla się napis wszystkie pola są obowiązkowe, a ja wypełniam wszystkie.

pomoże ktoś?
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.