Jump to content
php.lv forumi

login pārbaude


false

Recommended Posts

<?php
/konekt
session_start();
error_reporting(E_ALL);
include("func.php");
$md5 = md5($_SERVER['REMOTE_ADDR']);
if(isset($_SESSION['id']))
{
$id = $_SESSION['id'];
$result = mysql_query("SELECT * FROM lietotaaji WHERE id=$id");
}
if(isset($_GET['login']) and $_GET['login'] == "".$md5."")
{
$niks = quote_smart($_POST['niks']);
$parole = quote_smart(md5($_POST['parole']));
$result = mysql_query("SELECT * FROM lietotaaji WHERE niks=$niks and parole=$parole");
$row = mysql_fetch_row($result);
$id = $row[0];
if(mysql_num_rows($result) == 1)
{
$taim = time();
mysql_query("UPDATE lietotaaji SET last_a=$taim WHERE id=$id");
$_SESSION['id'] = $id;
}
else
{
$nav = "<div class=\"error\">Nepareizs niks un/vai parole!</div>";
}
}
?>

<?php
if(!isset($_SESSION['id']))
{
?>
<h2>Lietotājiem</h2><div class="menu_cont">
<div id="login">
<?php
if(isset($nav)){
echo $nav;
}
?><br/>
<form action="/?login=<?php echo $md5; ?>" method="post">
Niks:<br/><input name="niks" type="text"><br/>
Parole:<br/><input name="parole" type="password"><br/>
<input name="login" type="submit" value="Ielogoties!"><br/><a href="/reg/">Reģistrēties</a> - <a href="/forgot_pw/">Aizmirsi paroli?</a> 
</form>
</div></div>
<?php
}
if(isset($_SESSION['id']))
{
?>
<h2>Sveiks</b></h2><div class="menu_cont">
<div id="login">
tu esi ielogojies!
</div></div>
<?php
}
?>

Bet ielogoties nevar, rada kā nepareiza parole vai/un niks. Esmu meiģinājis ar pareizo akountu kas ir reģistrets datubāzē, gan ar nepareizo, kas nav.

Kas kodā ir nepareizs?

Link to comment
Share on other sites

Iemācies debug-ot. Liec dažādās vietās teksta izvades (piemēram: echo "tagad izpildas shitais kods";), lai saprastu, kur tieši kods izpildās.

 

Sākumā kodam izvadi gan post, gan get, gan sesijas saturu, lai saprastu, kādi dati tur atrodas un izsecinātu vai kas netrūkst.. (koda apakšā arī izvadi $_SESSION, lai zināt, kas ir mainījies izpildes laikā)

Lai izvadīt, izmanto print_r($_SESSION);, print_r($_GET); utt utt;

Link to comment
Share on other sites

Mācies dbugot un meklēt kļūdas...

Piemēram, $result = mysql_query...

 

aizvieto ar

$q = "SELECT * FROM lietotaaji WHERE niks=$niks and parole=$parole";

echo $q; ---->>> apskaties kas šeit tiek izechots, palaid šo pašu selectu db; apsties vai atrod kādu rindu; tad redzēsi vai vaina ir pirms selecta vai pēc.

$result = mysql_query($q);

 

R.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...