Jump to content
php.lv forumi

logina skripts


nekonesaprotu

Recommended Posts

Šo kodu dabūju kaut kādā mājaslapā, bet viņš galīgi man nederēja tāpēc nācās pārveidot pēc savām vajadzībām. Es te kautko nesaprotu ar tiem session. Un kā var uztaisīt, lai, ka ielogojas, tad pazūd tā logina forma un parādās poga logout? Galvenais plāns ir, lai tas viss notiek vienā lapā un vai tas vispār ir iespējams, jo es lietoju šito lapu kā include savā galvenajā lapā.

 

Vēl viena lieta: tas teksts neizdevās ielogoties parādās uzreiz, jau pirms esmu mēģinājis ievadīt kaut kādus datus. Kā to izlabot/

 

Un kāds sakars ir šīm līnijām?

session_register("lietotajvards");
session_register("parole");

 

Droši vien saņemšu kaut kādu googles saiti vai kko tādu bet tas arī labi, jo nezinu kur iegūt info par to visu ..

Paldies

 

 

<?php
$host=""; 
$username=""; 
$password=""; 
$db_name=""; 
$tbl_name=""; 

mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$lietotajvards= $_POST['lietotajvards'];
$parole= $_POST['parole'];
$lietotajvards = stripslashes($lietotajvards);
$parole = stripslashes($parole);
$lietotajvards = mysql_real_escape_string($lietotajvards);
$parole = mysql_real_escape_string($parole);
$sql="SELECT * FROM $tbl_name WHERE username='$lietotajvards' and password='$parole'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
session_register("lietotajvards");
session_register("parole");
$logok='<p class="ok">Sanāca</p>';
$_SESSION['lietotajvards']= $lietotajvards;
}
else {
$errorlog='<p class="error">Neizdevās ielogoties</p>';
}
ob_end_flush();
?>
<table border="0" cellpadding="0" cellspacing="1">
<tr>
<form name="form1" method="post">
<td>
<table border="0" cellpadding="3" cellspacing="1">
<tr>
<td class="labie"><p class="nosaukumi">Lietotājvārds</p></td><td colspan="2"><input name="lietotajvards" type="text" id="lietotajvards" MAXLENGTH="20" size="25"></td>
</tr>
<tr>
<td class="labie"><p class="nosaukumi">Parole</p></td><td colspan="2"><input name="parole" type="text" id="parole" MAXLENGTH="30" size="25"></td>
</tr>
<tr>
<td></td><td><input type="submit" name="Submit" value="Ienākt"></td><td><p class="error"><?php echo $errorlog ?><?php echo $logok ?></p></td>
</tr>
</table>
</td>
</form>
</tr>
</table>
<p class="registreties">Neesi vēl reģistrējies? Spied <a class="spiedte" href="?funkcija=showreg">te</a>!</p>

Edited by nekonesaprotu
Link to comment
Share on other sites

Vēl viena lieta: tas teksts neizdevās ielogoties parādās uzreiz, jau pirms esmu mēģinājis ievadīt kaut kādus datus. Kā to izlabot/

....} else {
if(empty($lietotajvards) || empty($parole)){
$errorlog='<p class="error">Nav ievadīti lietotājvārds vai parole</p>';//vai vienkārši tukšu vērtību tam $errorlog
} else { 
$errorlog='<p class="error">Neizdevās ielogoties</p>';
}
}

Par sesijas reģistrēšanu jau norādija kas par lietu.

 

<p class="registreties">Neesi vēl reģistrējies? Spied <a class="spiedte" href="?funkcija=showreg">te</a>!</p>

$_GET['funkcija'] jau netiek pārbaudīts vai ir vērtība, kāda tad jēga?

Edited by mounkuls
Link to comment
Share on other sites

Nu skaidrs:)

Vispār errorus iesaku veidot apmēram šādi:

 

$errorlog='';
if(empty($lietotajvards) || empty($parole)){$errorlog.='Nav ievadīti lietotājvārds vai parole<br>';} 
if($parbaudamais!='vērtība meklētā') { $errorlog.='Cits error paziņojums<br>';}
if($kods!=$koda_test){ $errolog.='Kods neder!<br>';}
//tālāk jau pārbaudīt vai ir kļūdas un izvadīt
if(!empty($errorlog)){ echo '<p class="error">'.$errorlog.'</p>';}

Link to comment
Share on other sites

  • 3 weeks later...
×
×
  • Create New...