Hogyan oldjam meg, hogy a beléptetőm ki írja amikor nincs bele írva semmi azt hogy "kérem írd be a felhasználót. "?
User: admin
Pass: admin
Itt a login.php
------------------------------------------------------
<?php
$username = $_POST['username'];
$password = $_POST['password'];
if((isset($username)) && (isset($password)))
{
$connect = mysql_connect("","","") or die("Couldn't connect!");
mysql_select_db("xth_6732909_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==$dbpassword)
{
echo "You're in!";
}
else
echo "Incorrect password!";
}
else
die("That user doesn't exist!");
}
else
echo "Please enter username and password";
?>
Á, értem a kérdést, de nehéz volt rájönnöm, hogy mit szeretnél:)
Több módszer van rá! Hogy kívánod?? JavaScript?
Arra gondolsz, hogy jelenjen meg egy messagebox, hogy a user név és a passwordnek pl. min 1 karakternek kell lenni, ugye???
Az ablakon kívül lehet még pl:
Hogy az oldal újratöltődik és akkor jelenik megy egy hibaüzenet, + szöveg az oldalon, meg lehet úgy is, hogy amíg üresek a mezők, addig ott a szöveg. hogy?
Egyébként írok neked egy példát:
[index.html] tartalma:
<html>
<head>
<script language="JavaScript" src="vcscript.js"></script>
</head>
<body>
<form name="lform1" action="login.php" method="POST">
Username:<input type="text" name="username"><br>
Password:<input type="password" name="password"><br>
<input name="b1" type="submit" value="Log in" onclick="return vcfunc()">
</form>
</body>
</html>
[vcscript.js] tartalma:
function vcfunc()
{
if (document.lform1.username.value=="" && document.lform1.password.value==""){
alert("Nem adtál meg felhasználó nevet és jelszót!");
return false;
}
if (document.lform1.username.value==""){
alert("Nem adtál meg felhasználó nevet!");
return false;
}
if (document.lform1.password.value==""){
alert("Nem adtál meg jelszót!");
return false;
}
}
Nekem az a problémám,hogy ez nem jelenik meg a "please enter username and password".
Ezt akkor kell hogy kiírja amikor nem írok semmit se a jelszóba se az usernemehez...
(De ez csak azt írja hogy "That user doesn't exist!")
Mindegy, kezd így, így jó lesz!
<?php
$username = $_POST['username'];
$password = $_POST['password'];
if((strlen($username)>0) && (strlen($password)>0))
{
Talán ez jó lesz:)
<?php
if(isset($_POST['submit'])) {
// Ha elküldik az űrlapot...
$username = $_POST['username'];
$password = $_POST['password'];
$connect = mysql_connect("","","") or die("Couldn't connect!");
mysql_select_db("xth_6732909_phplogin") or die ("Couldn't find db");
$query = mysql_query("SELECT * FROM users WHERE username='$username'");
if(mysql_num_rows($query) == 0) {
// Nem találtunk ilyet...
$error[] = "Belépés megtagadva. (Hibás felhasználónév)";
}
else {
// Találtunk ilyet, lekérdezzük a jelszót is...
$row = mysql_fetch_assoc($query);
$dbpassword = $row['password'];
if($password !== $dbpassword) {
// Ha a jelszó hibás...
$error[] = "Belépés megtagadva. (Hibás jelszó)";
}
}
if(empty($username)) {
// Ha üres a $username értéke...
$error[] = "Nincs felhasználónév megadva.";
}
if(empty($password)) {
// Ha üres a $password értéke...
$error[] = "Nincs jelszó megadva.";
}
if(!isset($error)) {
// Nem találtunk hibát...
echo "You're in!";
}
}
elseif(isset($error)) {
// Ha hibát találtunk a feldolgozás során, akkor kiiratjuk a hibákat, és újra behívjuk az űrlapot...
echo "<ul>";
foreach ($error as $error_list) {
echo "<li>".$error_list."</li>";
}
echo "</ul>";
?>
<form action="" method="post">
Username:<input type="text" name="username"><br>
Password:<input type="password" name="password"><br>
<input name="submit" type="submit" value="Log in">
</form>
<?php
}
else {
// Ha még nem küldtük el az űrlapot...
?>
<form action="" method="post">
Username:<input type="text" name="username"><br>
Password:<input type="password" name="password"><br>
<input name="submit" type="submit" value="Log in">
</form>
<?php
}
?>
Eddig oké és Köszönöm mindenkinek!
Már csak most azt kérdezem hová illesszem be a rácsatlakozást a következő oldalra?
(úgy értem hogy a regisztrált felhasználók a bejelentkezés után belépjenek egy főoldalra...)
annak a php fáljnak a neve "main.php"
Ez így jó lesz?
include("main.php");
Hát, van jobb megogoldás szerintem...
Én inkább azt csinálnám, hogy minden oldaladba beszúrnék egy ilyet pl:
require('logcheck.php');
Ennek pedig ellőenőrzni kell, hogy te hitelesítve vagy-e, bejelentkeztél-e és ha igen, akkor betöltődhet, aminek kell, ha pedig nem, akkor a login jön be. De ez csak az én elméletem...
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!