Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PROBLEM] $_GET['zaloguj']; LOGOWANIE w PHP
kamilexoN
post
Post #1





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

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


Mam problem z logowaniem w PHP jak wchodzę na stronę z logowaniem wyskakuje mi taki oto błąd:
Notice: Undefined index: akcja in C:\xampp\htdocs\login.php on line 47
Za to gdy daje Zaloguj wyskakują 2 kolejne:
Notice: Undefined index: haslo in C:\xampp\htdocs\login.php on line 57
Notice: Undefined index: login in C:\xampp\htdocs\login.php on line 54

Proszę tutaj jest kod:
CODE
<p><center><form action="login.php?akcja=zaloguj" method="post">
<b>Login:</b>
<input type="text" name="login" placeholder="Login" original-title="Tutaj wpisz swoj login!" /><br />
<b>Haslo:</b>
<input type="password" name="haslo" placeholder="Haslo" /><br />
<input type="submit" value="Zaloguj" />
</form></center></p>


<?php
$akcja = $_GET['akcja'];
if($akcja =='zaloguj'){
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
$login = $_POST['login'];
$haslo = $_POST['haslo'];
$hasloh = md5('haslo');
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
if($_GET['login'] != ''){
exit;
}
if($_GET['haslo'] != ''){
exit;
};
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
if($akcja == 'zaloguj'){
$sprawdzaniedanych = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM `users` WHERE `username` = '$login' AND `password` = '$hasloh'"));
$isbanned = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM `users` WHERE `username` = '$login' AND `password` = '$hasloh' AND `ban` ='1'"));
$isreggonlli = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM `users` WHERE `username` = '$login' AND `password` = '$hasloh' AND `isregonline` = '1'"));
$komunikaty = '';
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
$blad1 = '<span style="color: red;">Zostales zbanowany! Powod:';
$blad2 = 'Podane dane sa nieprawidlowe!<br />';
$blod3 = 'Musisz wypelnic wszystkie pola!<br />';
$blad4 = 'Twoje konto nie jest zarejestrowane na naszej stronie.<br />';
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
if ($isbanned[0] == 1) {
$usri1 = "SELECT * FROM users WHERE username='$login'";
$usri2 = mysql_query($usri1);
$usri3 = mysql_fetch_array($usri2);
$banreson = $usri3['banreason'];
$komunikaty .= '<span style="color: red;">Zostales zbanowany, Powod : '.$banreson.'</span><br />';
}
if ($sprawdzaniedanych[0] == 0) {$komunikaty .= $blad2;}
if (!$login || !$haslo ) {$komunikaty .= $blad3;}
if ($isreggonlli[0] == 0) {$komunikaty .= $blad4;}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
if($komunikaty){
echo '<b>Popraw nastepujace bledy:</b><br />'.$komunikaty.'<br />';
} else {
$usri1 = "SELECT * FROM users WHERE username='$login'";
$usri2 = mysql_query($usri1);
$usri3 = mysql_fetch_array($usri2);
$issadmin = $usri3['admin'];
if ($issadmin >= 0) {
$_SESSION['admin'] = $issadmin;
} else {
$_SESSION['admin'] = 0;
}
$_SESSION['login'] = $login;
$_SESSION['haslo'] = $haslo;
echo '<span style="color: darkgreen;">Zostales zalogowany jako <b>'.$login.'</b>!</span>';
header("Refresh: 3; URL=index.php");
}
}
ob_flush();
?>


Proszę o pomoc (IMG:style_emoticons/default/exclamation.gif) !!
I z góry dziękuję (IMG:style_emoticons/default/biggrin.gif) .
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marvofmay
post
Post #2





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 21.08.2012

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


Ten komunikat jest następstwem tego, że przy pierwszym wykonaniu skryptu , zmiena $akcja nie została zainicjowana, tzn. nic do niej nie przypisałeś.
Tylko po co deklarujesz ormularz pisząc :
  1. <form action="login.php?akcja=zaloguj" method="post">
, tzn masz metodę :
  1. method="post"
a w akcji masz :
  1. action="login.php?akcja=zaloguj"

Zrób w ten sposób :
  1. <form action="login.php" method="post">
  2. <b>Login:</b> <input type="text" name="login" placeholder="Login" original-title="Tutaj wpisz swoj login!" /><br />
  3. <b>Haslo:</b> <input type="password" name="haslo" placeholder="Haslo" /><br />
  4. <input type="submit" value="Zaloguj" name="button_submit" />
  5. </form>


A to szkielet pliku "login.php"
  1. if (isset($_POST['button_submit']))
  2. {
  3. //tu kod PHP, który ma być wykonany po wysłaniu formularza
  4. }
  5. else
  6. {
  7. //tu kod PHP, który ma być wykonany przed wysłaniem formularza
  8. }
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 14:20