Login php msql – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Login php msql – PHP – Fórum – Programujte.comLogin php msql – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Jarda
~ Anonymní uživatel
191 příspěvků
19. 11. 2014   #1
-
0
-

Zdravim, potřeboval bych poradit už to řešim 2den. Mam přihlášení, ale stále když zadám správné uúdaje mi to píše že jsem zadal špatné heslo nebo jmeno. Díky Jarda

<?php
ob_start();
session_start(); 
if(isset($_POST['odeslano'])){
  require_once 'pripojeni_k_db.php';
  $jmeno = $_POST['jmeno'];
  $heslo = md5($_POST['heslo']);
    $nactidata = mysql_query("SELECT * FROM `uzivatele` WHERE `jmeno` = '$jmeno' and `heslo` = '$heslo'") or die (mysql_error());
      $nacetladata = mysql_fetch_array($nactidata);
        if($nacetladata['jmeno']){ 
          $_SESSION['prihlasen'] = 1;
          
          echo "Přihlášen.";
        }else{
          echo "Jmeno nebo heslo bylo zadáno špatně.";
        }
    mysql_free_result($nactidata);
}else{
  echo "Něco je špatně.";
}
ob_end_flush();
?>

Nahlásit jako SPAM
IP: 77.237.138.–
Reklama
Reklama
Kit+11
Guru
19. 11. 2014   #2
-
0
-

#1 Jarda
Máš tam SQL injekci.

Starým ovladačem MySQL se už nezabývám. Zahoď ho a nauč se PDO.

Nahlásit jako SPAM
IP: 147.229.242.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Jarda
~ Anonymní uživatel
191 příspěvků
19. 11. 2014   #3
-
0
-

#2 Kit
No, mam to jen pro osobní účely pro svou  přezentaci. Nejsem programátor a potřebuju fakt jen jednoduše se přihlásit do administrace. 

Nahlásit jako SPAM
IP: 77.237.138.–
Kit+11
Guru
19. 11. 2014   #4
-
0
-

#3 Jarda
Jenže ten starý ovladač v novém PHP už nebude. Proč to nechceš udělat rovnou pořádně, abys to pak nemusel předělávat?

Pro osobní účely to přece nemusíš nijak zaheslovávat.

Nahlásit jako SPAM
IP: 147.229.242.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Jarda
~ Anonymní uživatel
191 příspěvků
19. 11. 2014   #5
-
0
-

#4 Kit

Musim protože mam texty uložené na databázi. A nepotřebuji aby mi to každej měnil.

Nahlásit jako SPAM
IP: 77.237.138.–
Xena
~ Anonymní uživatel
7 příspěvků
19. 11. 2014   #6
-
0
-

Nechápu, proč ti Kit neporadí, když toto je tak jednoduchá záležitost a ty si nad tím lámeš hlavu už 2. den.

Řešení:


$prihlasen = mysql_result(mysql_query("SELECT * FROM `uzivatele` WHERE `jmeno` = '$jmeno' and `heslo` = '$heslo'"), 0);

if($prihlasen == 0) { // "neco se pokazilo", resp. v DB nenalezen řádek s odpovídajícím jménem a heslem }
else if($prihlasen == 1) {  $_SESSION['prihlasen'] = 1; echo "Prihlasen"; //prihlásen }
else if($prihlasen > 1) { // tato podmínka nikdy nesmí nestat (nejspíš už ji odchytáváš při registraci), znamená, že v DB je duplicitní záznam řádku }

Když si nebudeš vědět rady, tak klidně napiš. :)

Nahlásit jako SPAM
IP: 89.103.183.–
Xena
~ Anonymní uživatel
7 příspěvků
19. 11. 2014   #7
-
0
-

#6 Xena
Jen pro doplnění: 

$prihlasen = mysql_result(mysql_query("SELECT * FROM `uzivatele` WHERE `jmeno` = '$jmeno' and `heslo` = '$heslo'"), 0);

do prom. s id prihlasen se vloží numerická hodnota značící počet řádků v DB na základě SQL podmínky

Nahlásit jako SPAM
IP: 89.103.183.–
Jarda
~ Anonymní uživatel
191 příspěvků
19. 11. 2014   #8
-
0
-

#7 Xena
Stále to samé:(

<?php
ob_start();
session_start(); 
if(isset($_POST['odeslano'])){
  require_once 'pripojeni_k_db.php';
  $jmeno = $_POST['jmeno'];
  $heslo = md5($_POST['heslo']);
   
    $prihlasen = mysql_result(mysql_query("SELECT * FROM `uzivatele` WHERE `jmeno` = '$jmeno' and `heslo` = '$heslo'"), 0);

if($prihlasen == 0) { 
echo "Jmeno nebo heslo bylo zadáno špatně."; }
else if($prihlasen == 1) {  
$_SESSION['prihlasen'] = 1; 
echo "Prihlasen"; }
else if($prihlasen > 1) {
echo "Nalezen duplicní záznam, kontaktuj správce. ";
}
}else{
  echo "Něco je špatně.";
}
ob_end_flush();
?>

Nahlásit jako SPAM
IP: 77.237.138.–
Xena
~ Anonymní uživatel
7 příspěvků
19. 11. 2014   #9
-
0
-

 V tom případě máš špatné jméno nebo heslo. Zkontroluj záznamy a připojení k DB. Případně si zkus vypsat prihlasen. Jakou hodnotu ti tato prom. vrací?

Nahlásit jako SPAM
IP: 89.103.183.–
Jarda
~ Anonymní uživatel
191 příspěvků
19. 11. 2014   #10
-
0
-

#9 Xena
Jsem id** :D při založení tabulky sql jsem na heslo nastavil 30 znaků a při překodování do md5 mi 2 znaky chyběli, takže to funguje i na to moje i to tvoje.

Nahlásit jako SPAM
IP: 77.237.138.–
Xena
~ Anonymní uživatel
7 příspěvků
19. 11. 2014   #11
-
0
-

Hmm, je vůbec to MD5 nutné?

Nahlásit jako SPAM
IP: 89.103.183.–
Jarda
~ Anonymní uživatel
191 příspěvků
19. 11. 2014   #12
-
0
-

#11 Xena
Nejspíš ne :)

Nahlásit jako SPAM
IP: 77.237.138.–
Jarda
~ Anonymní uživatel
191 příspěvků
19. 11. 2014   #13
-
0
-

#12 Jarda
Mam to jen na přezentaci o rybyčkách:D

Nahlásit jako SPAM
IP: 77.237.138.–
Xena
~ Anonymní uživatel
7 příspěvků
19. 11. 2014   #14
-
0
-

Pošli link... :)

Nahlásit jako SPAM
IP: 89.103.183.–
Jarda
~ Anonymní uživatel
191 příspěvků
19. 11. 2014   #15
-
0
-

#14 Xena
Zatim to nemam doménu. zkoušim na apache.

Nahlásit jako SPAM
IP: 77.237.138.–
Jarda
~ Anonymní uživatel
191 příspěvků
19. 11. 2014   #16
-
0
-

#15 Jarda
Zanech na sebe mail a nejspíše v pondělí to bude a pošlu v mailu

Nahlásit jako SPAM
IP: 77.237.138.–
peter
~ Anonymní uživatel
2551 příspěvků
19. 11. 2014   #17
-
0
-

Sak to pak napis sem. Proc to posilat na mail. Taky jsem zvedavy na rybicky :)

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:e51d:27...–
Jarda
~ Anonymní uživatel
191 příspěvků
19. 11. 2014   #18
-
0
-

#17 peter
Ok, tak až to bude pošlu

Nahlásit jako SPAM
IP: 77.237.138.–
Kit+11
Guru
19. 11. 2014   #19
-
0
-

#6 Xena
Nechápu, proč ti Kit neporadí, ...

Nebudu mu radit, jak se má střílet do nohy a pořádně to udělat nechce.

SQL injection je tam stále - kdokoli se může stát adminem databáze.

Nahlásit jako SPAM
IP: 147.229.242.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Xena
~ Anonymní uživatel
7 příspěvků
2. 12. 2014   #20
-
0
-

#19 Kit
Kdyby chtěl použít mysqli nebo pdo, tak o tom napíše, ale on chce s mysql query, tak mu dám mysql query. To, že se může stát adminem kdokoli je docela vysoké riziko, stejně tak jako bezpečnost použití MD5... Prostě celý návrh je na kočku... 

Nahlásit jako SPAM
IP: 89.103.183.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 53 hostů

Podobná vlákna

PHP login — založil Jirka

PHP Facebook login — založil Anonym

PHP login nefunguje — založil Martin

$login — založil Counter

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý