| Autor | Zpráva | ||
|---|---|---|---|
| sir_lamoid Profil |
#1 · Zasláno: 3. 8. 2012, 13:32:28
Dobrý den,
mám taký problém mám kód <?php
/**
* @author sir_lamoid
* @copyright 2012
*/
include "include/dibi.min.php";
dibi::connect(array(
'driver' => 'mysql',
'host' => 'localhost',
'username' => 'userdb',
'password' => 'heslodb',
'database' => 'db',
'charset' => 'utf8',
));
dibi:;
$nick = $_POST[nick];
$heslo = md5(md5($_POST['heslo']));
session_start()
$dotaz = mysql_query("SELECT * FROM uzivatele WHERE nick='".mysql_real_escape_string($nick)."' AND heslo='$heslo'");
if (mysql_num_rows($dotaz) > 0) {
$uzivatel = mysql_fetch_object($dotaz);
$_SESSION["id"] = $uzivatel->id;
$_SESSION["nick"] = $uzivatel->nick;
$_SESSION["email"] = $uzivatel->email;
$_SESSION["opravneni"] = $uzivatel->opravneni;
header("Location: index.php");
} else {
echo "Špatné jméno nebo heslo, zkus to znova.";
}
?>a mě to píše chybu Parse error: syntax error, unexpected T_VARIABLE in xx/loginnow.php on line 21 jinak mám formulář: <form action="loginnow.php" method="POST"> <input type="text" name="nick"/> <input type="password" name="heslo"/> <input type="submit" name="tlacitko"/> </form> prosím pomozte.. bude asi chyba v uvozovkách, ale nevím kde.. |
||
| Alphard Profil |
sir_lamoid:
Co je to za nesmysl, proč to dibi nepoužíváte? $uzivatel = dibi::query("SELECT * FROM uzivatele WHERE nick = %s AND heslo = %s", $_POST['nick'], $heslo)->fetch();
if ($uzivatel) |
||
| martin1312 Profil |
#3 · Zasláno: 3. 8. 2012, 13:38:27
riadok 20, chyba ti bodkočiarka na konci
|
||
| sir_lamoid Profil |
#4 · Zasláno: 3. 8. 2012, 13:42:57 · Upravil/a: sir_lamoid
neboť objektové programování není můj šálek kávy
pomocí dibi jen vkládám záznamy do db ale získávání výsledku z db pomocí dibi je zatím pro mě španělská vesnice martin1312: děkuji |
||
| ShiraNai7 Profil |
#5 · Zasláno: 3. 8. 2012, 13:47:48
sir_lamoid:
„pomocí dibi jen vkládám záznamy do db ale získávání výsledku z db pomocí dibi je zatím pro mě španělská vesnice“ Stačí strávit 5 minut čtením dokumentace. Ohledně OOP nemusíš vědět nic.. voláš jen statickou metodu a o zbytek se nestaráš. |
||
| sir_lamoid Profil |
#6 · Zasláno: 3. 8. 2012, 13:52:52
nebojte mám v plánu se na to vrhnout co nejdříve
jinak není tady chyba $uzivatel = dibi::query("SELECT * FROM uzivatele WHERE nick = %s AND heslo = %s", $_POST['nick'], $heslo)->fetch();
if ($uzivatel)proč by jsme hledaly kde nick je prazdný řetězec ?? |
||
| Alphard Profil |
#7 · Zasláno: 3. 8. 2012, 14:01:51
Ale on se nehledá prázdný řetězec, to %s je zástupný znak. Takhle je to proto, aby se vstupy mohly automaticky ošetřit.
|
||
| sir_lamoid Profil |
#8 · Zasláno: 3. 8. 2012, 18:13:21 · Upravil/a: sir_lamoid
a nemělo by po tom %s následovat $_POST['nick']??
joo už chápu to %s je zastupne a po tom se definuje za ", |
||
| sir_lamoid Profil |
#9 · Zasláno: 4. 8. 2012, 00:00:46
jinak ještě otázečka jak to udělat:
<?php
/*
pokud existuje proměná session nick
potom vypiš odkaz na administraci
na odhlášení
jinak vypiš odkaz pro přihlášení
*/
if(isset($_SESSION['nick'])) {
echo '<a href="admin.php">Administrace</a>';
echo '<a href="logout.php">Odhlasit se</a>';
}
else {
echo 'Prosíme <a href="login.php">přihlašte se</a>';
}
?> |
||
|
Časová prodleva: 13 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0