Session
Minden tökéletesen működik, annak ellenére, hogy sok hibát kapok.
login.phpItt a config.php is...hátha itt van kimenet.(Hozzáteszem sehol se találtam arra vonatkozóan írást, hogy mi a kimenet)Nem nagyon értek a session-ökhöz. Ezeket a hibákat kapom:
Warning: session_start() [function.session-start]: open(/tmp/sess_1ba583c6c101b6d96fb69e15004b55c0, O_RDWR) failed: No such file or directory (2) in /login.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /login.php:2) in /login.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /login.php:2) in /login.php on line 2
Warning: Unknown: open(/tmp/sess_1ba583c6c101b6d96fb69e15004b55c0, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
■ login.php
<?php>
session_start();
include ("includes/config.php");
?>
<html>
<head>
</head>
<body>
<form method="post">
<table>
<tr>
<td>
Vezetéknév
</td>
<td>
<input type="text" name="lastname"/>
</td>
</tr>
<tr>
<td>
Keresztnév
</td>
<td>
<input type="text" name="firstname"/>
</td>
</tr>
<tr>
<td>
Jelszó
</td>
<td>
<input type="password" name="password"/>
</td>
</tr>
<tr>
<td>
<input type="submit" name="loginbutton"/>
</td>
</tr>
</table>
</form>
<?php
mysql_connect($dbHost, $dbUser, $dbPass);
mysql_select_db($dbName);
if($_SESSION['log'] == true)
{
print ("Sajnálom, de jelenleg be vagy jelentkezve!");
}
else
{
if (isset($_POST['loginbutton']))
{
$lastname = $_POST['lastname'];
$firstname = $_POST['firstname'];
$password = $_POST['password'];
$sql = "SELECT * FROM users WHERE (lastname='".$lastname."' AND firstname='".$firstname."' AND password='".$password."')";
$query = mysql_query($sql);
$fetch = mysql_fetch_assoc($query);
if(mysql_num_rows($query) !== 0)
{
print ("Sikeres belépés");
$_SESSION['log'] = true;
$_SESSION['id'] = mysql_num_rows($fetch);
print ("A jelenlegi azonosítód: ".$_SESSION['id']);
}
else
{
print ("Sikertelen belépés<br>");
}
}
}
?>
</body>
</html>
<?php
/*************************
***ADATBÁZIS BEÁLLÍTÁSOK**
*************************/
$dbHost = "********";
$dbUser = "********";
$dbPass = "********";
$dbName = "********";
?>
Warning: session_start() [function.session-start]: open(/tmp/sess_1ba583c6c101b6d96fb69e15004b55c0, O_RDWR) failed: No such file or directory (2) in /login.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /login.php:2) in /login.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /login.php:2) in /login.php on line 2
Warning: Unknown: open(/tmp/sess_1ba583c6c101b6d96fb69e15004b55c0, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
Nem létezik a tmp nevű
Hol kellene lennie tmp nevű
A webroot-on belül közvetlenül
Csak nem ATW-s tárhely? :) Náluk láttam ilyesmit, szerencsére ez sem tegnap volt…
De...sajna atw-s... végülis
Viszont most látom, hogy a
Nem megy a lekérdezés...esetleg valaki látja mi a hiba? Légyszi segítsetek, soha nem csináltam még MySql lekérdezést...
mysql_num_rows
Viszont utána ugyanezt a függvényt alkalmazod a $fetch tömbre, és az így kapott eredményt próbálod betenni a sessionbe ID-ként.
A $fetch tömb tartalmazza a lekérdezett adatokat, ezen ne mysql_num_rows()-t futtass, hanem olvasd ki belőle a megfelelő értéket.
A tömb tartalmát pl. a print_r(), var_export(), var_dump() metódusokkal tudod megnézni.
Amúgy ez egy asszociatív tömb, ahol a kulcsok az adatbázis tábla mezőnevei, az értékek pedig az adatbázis tábláben szereplő értékek lesznek.
Na jó, kicsit bőbeszédűbb
De azért első körön, minden rossz szándék nélkül: RTFM.
mysql_num_rows
mysql_fetch_assoc
mysq_real_escape_string
Másodsorban:
Ó és nagyon remélem hogy az első sorban az a <?php> csak elírás.
hehe. Igen az elírás. De a