Kezdőoldal » Számítástechnika » Programozás » Valaki meg tudja mondani hogy...

Valaki meg tudja mondani hogy tudom ezt kijavítani? (PHP)

Figyelt kérdés

Nagyon kezdő PHP-s vagyok.

Egy egyszerű login oldalt akarok összerakni mysql adatbázissal.



van 3 php fájl


index.php:

<?php

session_start();

if(isset($_POST['bttLogin'])){

require 'connect.php';

$username = $_POST['username'];

$password =$_POST['passowrd'];

$result = mysqli_query($con, 'SELECT * from account WHERE username="'.$username.'" and password="'.$password.'" ');

if(mysqli_num_rows($result)==1){

$_SESSION['username'] = $username;

header ('Location: welcome.php');

}

echo "Account is invalid";

}



?>


<form method="post">

<table cellpadding="2" cellspacing="2" border="1">

<tr>

<td>Username</td>

<td><input type ="text" name="username"></td>

</tr>

<tr>

<td>Password</td>

<td><input type="password" name="passowrd"></td>

</tr>

<tr>

<td>Submit</td>

<td><input type="submit" name="bttLogin" value="Login"></td>

</tr>

</table>

</form>


ennél van gond kapok egy ilyen hibaüzit:

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\wamp\www\xd\index.php on line 8


Értem mit jelent de nem tudom megoldani.

Tudom ez nem ekezdőknek való feladat de igy könnyebben tanulok.


Valaki segítene magyarázattal?


a msik két fájl és tartalma:


conenction.php

<?php

$con = mysqli_connect('localhost', 'root', '','test');


?>


welcome.php


<?php

session_start();

echo 'Welcome' .$_SESSION['username'];


?>



2015. nov. 25. 18:56
 1/4 A kérdező kommentje:
Van benne elgépelés is, azt még javítom!!
2015. nov. 25. 18:58
 2/4 anonim ***** válasza:
A hibaüzenet aszondja, hogy nem jó típusú értéket kapott a num rows. Ami attól lehet, hogy nem volt jó a query-d.
2015. nov. 25. 19:06
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:
Bemelegítésül cseréld meg az idézőjeleket. Az SQL kifejezetten aposztrófot vár a stringek körül, ezért a select utasítást zárjuk dupla idézőjelek közé.
2015. nov. 25. 19:22
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

1. Nyersen ne vegyél át az űrlaptól adatokat - legalább escape-eld: [link]


2. "Debugolj"!

$con = mysqli_connect('localhost', 'root', '','test');

helyett

$con = mysqli_connect('localhost', 'root', '','test');

if (!$con) {

die ('Connect Error: '.mysqli_connect_error());

}


illetve:

$result = mysqli_query($con, 'SELECT * from account WHERE username="'.$username.'" and password="'.$password.'" ');

helyett

$result = mysqli_query($con, "SELECT * FROM account WHERE username='".$username."' AND password='".$password."';");

if (!$result) {

die ("Query error".mysqli_error($con));

}

2015. nov. 25. 19:47
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!