Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]CO jest nie tak?
Forum PHP.pl > Forum > Przedszkole
litwin
Witam
od bardzo niedawna interesuje się PHP. Chciałem napisać sobie skrypt do logowania i znalazłem videokurs PHP ACADEMy odnośnie tworzenia skryptu logowania. Zrobiłem wszystko tak jak wygląda w filmiku. Sam sobie nie wierząc zaczynałem pisać 3 razy od początku a efekt zawsze jest ten sam prosiłbym o pmoc w wylapaniu blędów bo nie ogarniam.

PLIK INDEX- TUTAJ RACZEJ WSZYSTKO JEST OK
<html>
<body bgcolor=black>
<body><img src="banner.jpg" height=20% width=100%><br><br><br><br><br><br><br><br><br><br>
<form action='login.php' method='POST'>


<center><font color= white>Username:</font><input type='text'name='username'> </center><br>


<center><font color= white>Password:</font><input type='password'name='password'> </center><br>


<center><input type='submit' value='login'></center>
</form>




</html>



PLIK LOGIN.PHP
<?PHP
$username=$_POST("username");
$password=$_POST("password");


if ($username&&$password)

{


$connect=mysql_connect("localhost","root","krasnal") or die ("couldnl't connect!");
mysql_select_db("phplogin") or die("Couldn't find db");

$query=mysql_query("SELECT * FROM users WHERE username='$username'");

$numrows=mysql_num_rows($query);
if ($numrows!=0)
{
while($row=mysql_fetch_assoc($query))
{
$dbusername=$row('username');
$dbpassword=$row('password');

}

//check to see if they match!
if($username==$dbusername&&$password==$dbpasssword);
{

echo"you're in!";


}
else
{
echo "incorrect password!";






}
else

die("that user doesn't exist!");



}
else
die("Please enter and username and a password!");
?>



Początkowo pokazywał się błąd w 2 lini pliku login.php a potem pokazał się w lini 34. nie bardzo wiem w czym tkwi błąd więc prosiłbym o pomoc.


Pozdrawiam
Pawel_W
wstaw to w bbcode!

  1. $username=$_POST("username");
  2. $password=$_POST("password");

zamiast $_POST("username") daj $_POST['username'], to samo zastosuj do reszty tablic wink.gif
mat-bi
  1. <center><font color= white>


Auuu puke.gif

1. Popraw skypt przed SQL Injection
2. co do query - zwykle jednocześnie sprawdza sie, czy takie hasło i user do hasła są w bazie
3. while($row=mysql_fetch_assoc($query)) - co to do *** jest?
4. to tablic odołujemy się przez nawiasy takie: [], nie takie: () (takie są dla funkcji)
litwin
a linia 34?
mat-bi
Najpierw popraw BBCODE, tego czytać się nie da
Daiquiri
Proszę poprawić BBCode i nadać jakiś rozsądny tytuł dla wątku, w innym przypadku będę zmuszona zamknąć temat.
litwin
<?php

$username=$_POST('username');
$password=$_POST('password');
if($username&&$password)
{

$connect=mysql_connect("localhost","root","krasnal") or die("couldnt connect!");
mysql_select_db("phplogin") or die("couldnt load database");
$query=mysql-query("SELECT * FROM users WHERE username='$username'");
$numrows=mysql_num_rows($query);

if ($numrows!=0)
{
while($row=mysql_fetch_assoc($query))
{
$dbusername= $row['username'];
$dbpassword= $row['password'];
}
// code to login

}
// check to see if they match!
if($username==$dbusername&&$password==$dbpassword)
{

echo" you are in!";
}
else
echo"incorect password!";
else
die("that user odesnt exist");

}
else
die("please enter username and password");
?>


poprawione i tak dalej nie dziala:(
drozdii07
BBcode to jest [*php] i [/*php] Bez * oczywiście wink.gif
aachi
Litwin... jak inni mówili Ci byś poprawił bbcode, to chodziło im abyś umieścił kod pomiędzy [php][/php]. Przy dodawaniu nowego posta, masz takie przyciski z napisami PHP, Manual, SQL, HTML i XML... Jak na tego z PHP klikniesz to automatycznie postawi Ci te znaczniki, a ty między nimi umieść swój kod.

Dwie pierwsze linijki:
$username=$_POST('username');
$password=$_POST('password');

Powinny też mieć nawiasy kwadratowe.

Jeśli to jest przykład jakiegoś PHP Academy, to odpuść sobie naukę przy jego pomocy. Jak wyżej wspomniano kod jest podatny na sql injection, czyli każdy mądrzejszy dzieciak może się włamać na Twoją stronkę. Poza tym ten skrypt pisał ktoś kto nie bardzo się zna na programowaniu w PHP, albo by być dokładniejszym... NIE ZNA SIĘ NA PROGRAMOWANIU.

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.