Autor | Zpráva | ||
---|---|---|---|
n5ver Profil |
#1 · Zasláno: 27. 12. 2013, 22:07:28
Ahoj, tak jsem si myslel, že jsem s mysqli_... dobojoval, ale asi ne. Omlouvám se, že zase píšu, ale prosím poradil by mi někdo, co je na tom scriptu špatně? Dokud jsem používal mysql_... tak to fungovalo.
<?php session_start(); ob_start(); mysqli_connect("", "", "", "")or die("cannot connect"); $myusername=$_POST['myusername']; $mypassword=md5($_POST['mypassword']); $myusername = stripslashes($myusername); $mypassword = stripslashes($mypassword); $myusername = mysqli_real_escape_string($myusername); $mypassword = mysqli_real_escape_string($mypassword); $sql="SELECT * FROM uzivatele WHERE username='$myusername' and password='$mypassword'"; $result=mysqli_query($sql); $count=mysqli_num_rows($result); if($count==1){ $_SESSION['myusername'] = $myusername; $_SESSION['mypassword'] = $mypassword; header("location:"); } else { header("location:index.php?p=unsuccess"); } ob_end_flush(); ?> |
||
Fisir Profil |
#2 · Zasláno: 27. 12. 2013, 22:23:36
Reaguji na n5vera:
„poradil by mi někdo, co je na tom scriptu špatně?“ Někam se ztratily přihlašovací údaje. U každé funkce mysqli_* (kromě mysqli_connect ) musíš mít identifikátor připojení:
$link = mysqli_connect("localhost","user","password","database")or die("cannot connect"); mysqli_real_escape_string($link,$myusername); num_rows trochu více trápení: mysqli_stmt_num_rows.
|
||
n5ver Profil |
#3 · Zasláno: 27. 12. 2013, 22:33:12
Děkuji za odpověď, ale i když už to teda proběhne, tak se mi třeba nechce vypsat $_SESSION['myusername'] a nechápu proč, protože dřív mi to fungovalo.
|
||
Fisir Profil |
#4 · Zasláno: 27. 12. 2013, 22:35:36
Reaguji na n5vera:
Je všude ještě před jakýmkoli výstupem session_start() ? Případně si zapni vypisování chyb (error_reporting(E_ALL); ) a napiš, jakou chybu ti skript vypisuje.
|
||
n5ver Profil |
To mi nic nevypisuje :/. Takhle nyní vypadá script na přihlášení:
<?php session_start(); ob_start(); $con = mysqli_connect("", "", "", "")or die("cannot connect"); $myusername=$_POST['myusername']; $mypassword=md5($_POST['mypassword']); $myusername = stripslashes($myusername); $mypassword = stripslashes($mypassword); $myusername = mysqli_real_escape_string($con,$myusername); $mypassword = mysqli_real_escape_string($con,$mypassword); $sql="SELECT * FROM uzivatele WHERE username='$myusername' and password='$mypassword'"; $result=mysqli_query($con,$sql); $count=mysqli_num_rows($con,$result); if($count==1){ $_SESSION['myusername'] = $myusername; $_SESSION['mypassword'] = $mypassword; header("location:uvod.php"); } else { header("location:index.php?p=unsuccess"); } ob_end_flush(); ?> A takhle souber, ve kterém se to snažím vypsat (samo se mi to na něj po přihlašování přesměruje ale nevypíše se nic.): <?php session_start(); if(!IsSet($_SESSION['myusername'])){ header("location:index.php"); } ?> <h2>Úvod</h2> <?php echo $_SESSION['myusername']."<br />".$_SESSION['mypassword']; ?> Tak už to jde. Chyba byla že jsem měl $con i v mysqli_num_rows |
||
Časová prodleva: 10 let
|
0