abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 13:11 | Nová verze

Po téměř dvou letech byla vydána nová verze 4.0 linuxové distribuce Audiophile Linux (též AP-Linux-V4). Tato distribuce vychází z Arch Linuxu, používá systemd, správce oken Fluxbox a vlastní real-time jádro pro nižší latence. Z novinek můžeme jmenovat podporu nových procesorů Intel Skylake a Kaby Lake nebo možnost instalace vedle jiných OS na stejný disk. Pokud se zajímáte o přehrávání hudby v Linuxu, doporučuji návštěvu webu této

… více »
Blaazen | Komentářů: 0
včera 18:55 | Nová verze

Byla vydána nová stabilní verze 1.9 (1.9.818.44) webového prohlížeče Vivaldi (Wikipedie). Z novinek vývojáři zdůrazňují podporu nového vyhledávače Ecosia. Ten z příjmů z reklam podporuje výsadbu stromů po celém světě (YouTube). Nově lze přeskupovat ikonky rozšíření nebo řadit poznámky. Nejnovější Vivaldi je postaveno na Chromiu 58.0.3029.82.

Ladislav Hagara | Komentářů: 10
včera 17:00 | Nová verze

Byla vydána verze 3.7.0 svobodného systému pro správu obsahu (CMS) Joomla!. V oznámení o vydání (YouTube) se píše o 700 vylepšeních. Opraveno bylo také 8 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 0
včera 08:22 | Komunita

Grsecurity (Wikipedie) je sada bezpečnostních patchů pro linuxové jádro (porovnání se SELinuxem, AppArmorem a KSPP). Od září 2015 nejsou stabilní verze těchto patchů volně k dispozici. Dle včerejšího oznámení (FAQ) nejsou s okamžitou platností volně k dispozici už ani jejich testovací verze.

Ladislav Hagara | Komentářů: 46
26.4. 23:33 | Komunita

OpenBSD 6.1 vyšlo již 11. dubna. Po dvou týdnech byla vydána i oficiální píseň. Její název je Winter of 95 a k dispozici je ve formátech MP3 a OGG.

Ladislav Hagara | Komentářů: 0
26.4. 18:55 | Nová verze

Byla vydána verze 2017.1 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux. S vydáním verze 2016.1 se Kali Linux stal průběžně aktualizovanou distribucí. Aktualizovat jej lze pomocí příkazů "apt update; apt dist-upgrade; reboot".

Ladislav Hagara | Komentářů: 0
26.4. 18:22 | Nová verze

Po téměř pěti letech od vydání verze 2.00 byla vydána nová stabilní verze 2.02 systémového zavaděče GNU GRUB (GRand Unified Bootloader). Přehled novinek v souboru NEWS.

Ladislav Hagara | Komentářů: 19
26.4. 17:55 | Komunita

Vývojáři Debianu oznámili, že od 1. listopadu letošního roku nebudou jejich archivy dostupné pomocí protokolu FTP. Již v lednu oznámil ukončení podpory FTP kernel.org (The Linux Kernel Archives).

Ladislav Hagara | Komentářů: 28
26.4. 17:00 | Bezpečnostní upozornění

V oblíbeném webmailu postaveném na PHP SquirrelMail (Wikipedie) byla nalezena bezpečnostní chyba CVE-2017-7692, jež může být útočníkem zneužita ke spuštění libovolných příkazů a kompletnímu ovládnutí dotčeného serveru. Zranitelnost se týká pouze instancí, kde je pro transport používán Sendmail.

Ladislav Hagara | Komentářů: 3
26.4. 13:11 | Zajímavý článek

Soudní dvůr Evropské unie rozhodl (tisková zpráva) ve věci C-527/15: Prodej multimediálního přehrávače, který umožňuje zdarma a jednoduše zhlédnout na televizní obrazovce filmy protiprávně zpřístupněné na internetu, může představovat porušení autorského práva.

Ladislav Hagara | Komentářů: 32
Chystáte se pořídit CPU AMD Ryzen?
 (4%)
 (34%)
 (1%)
 (6%)
 (45%)
 (9%)
Celkem 336 hlasů
 Komentářů: 50, poslední včera 04:06
    Rozcestník

    Dotaz: Logovací systém - porovnávání výsledků z formuláře s údaji v databázi

    17.10.2011 22:32 Johny
    Logovací systém - porovnávání výsledků z formuláře s údaji v databázi
    Přečteno: 791×
    Zdravím :), Mám problém s porovnáním dat z formuláře v databázi MySQL. Vše běží zatím na localhostu jde o to, že uživatel zadá jméno a heslo zatím jen pomocí echa vypíše jestli operace proběhla správně a její výsledek. Problém je v tom, že k žádnému výstupu s datbáze se ani nedostanu a tím pádem je porovnávat dvě hodnoty nemožné :/.

    kód PHP:
    $path = "/wpplugins/";
    
    // funkce pro ošetření vstupních dat od uživatele
    function db_escape($str) 
    { 
        return mysql_real_escape_string(@get_magic_quotes_gpc() ? stripslashes($str) : $str);
    } 
    
    include "spojeni_db.php"; 
    
    $PHPSESSID=rand(1, 2000000);
    $_SESSION["test"]=0;
    $_SESSION["PHPSESSID"]=$PHPSESSID;
    $_SESSION["test"]=$_POST['test'];
    $IP=$_SERVER["REMOTE_ADDR"];
    
    if ($_SESSION["test"] = 1) {
    	$_SESSION["name"]=trim($_POST['name']);
    	$_SESSION["pass"]=trim($_POST['pass']);
    	if (!isset($_SESSION["name"])){$_SESSION['name']="NULL";}
    	if (!isset($_SESSION["pass"])){$_SESSION['pass']="NULL";}
    	if (!isset($_POST['test'])){$_SESSION['test']="NULL";}
    	
    	$tb = "logintable";
    	$username = $_SESSION["name"];
    	$userpass = $_SESSION["pass"];
    	$result = mysql_query("SELECT COUNT(*) FROM $tb WHERE Nick = '$username' AND Password = '$userpass' ");
    
    echo "$result";
    echo "jste úspěšně přihlášen";
    
    }
    else {zobraz formular}
    
    zobraz zakladni formular>
    

    kód souboru pro pripojeni k databázi:
    if ($_SERVER["SERVER_ADDR"]=="localhost")
    {
      define("SQL_HOST","localhost");
      define("SQL_DBNAME","users");
      define("SQL_USERNAME","root");
      define("SQL_PASSWORD","richter");
    }
    else
    {
    	echo "Nelze se pripojit k databazi";
    }
    

    Nemůžu se dopátrat problému, předem díky za odpovědi.

    Odpovědi

    17.10.2011 23:36 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Logovací systém - porovnávání výsledků z formuláře s údaji v databázi
    A co to tak dát do tagu <pre> a se to dá přečíst?
    echo "$result";
    
    je blbost, nějaké mysql_fetch_xxx tam chybí…, ale jinak nevím ani na co se ptáte…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    18.10.2011 08:50 Johny
    Rozbalit Rozbalit vše Re: Logovací systém - porovnávání výsledků z formuláře s údaji v databázi
    Oprava: Vlastně mi šlo o to, aby se uživatel pomocí jednoduchého logovacího formuláře přihlásil k registrovanému obsahu stránky. Aby toto bylo možné musím provést kontrolu správnosti jména a hesla v databázi kam se jména a hesla ukládají.Uživatel zadá svůj Nick a Password a následně pomcí PHP se pokouším porovnávat udáje z POST->FORM s údaji v databázi, celkem jednoduchá logická operace jak si na stránky nepustit nikoho kdo není registrovaný (takový menší redakční systém. Jenže se mi zatím nepovedlo ani pomocí PHP v kombinaci s SQL tyto data správně porovnat a přesměrovat registrované na požadovaný obsah. Jde jen o kontrolu FORM x Databáze MySQL.

    18.10.2011 10:19 kuka
    Rozbalit Rozbalit vše Re: Logovací systém - porovnávání výsledků z formuláře s údaji v databázi
    To, ze jde o prihlasovani na strance, problem pouze zamlzuje. Podivej se do nejakeho tutorialu, jak v PHP udelat dotaz do mysql, zjistit co vraci atd.
    18.10.2011 11:02 Johny
    Rozbalit Rozbalit vše Re: Logovací systém - porovnávání výsledků z formuláře s údaji v databázi
    Aktualizuji problem:
    $id_spojeni = mysql_connect(`localhost`,`root`,`richter`);
    if (!$id_spojeni) {
    	echo "Spojení s MySQL databází se nezdařilo 
    "; } else { echo "Spojeni s databází navázáno
    "; } $vysledek_vybrani = mysql_select_db('users', $id_spojeni); if (!$vysledek_vybrani) { echo "Databázi users se nám nepodařilo vybrat
    "; } else { echo "Databáze users vybrána
    "; } $id_vysledku = mysql_query(`SELECT * FROM logintable`,$id_spojeni); if (!$id_vysledku) { echo "Nepodařilo se nám poslat SQL dotaz do databáze
    "; } else { echo "Podařilo se poslat SQL dotaz
    "; } Jméno Heslo while($radek = mysql_fetch_row($id_vysledku)) { for ($i=0; $i<2; ++$i) echo ``, $radek[$i], ``; } mysql_close($id_spojeni);
    výstup na stránce: Spojeni s databází navázáno Databázi users se nám nepodařilo vybrat Nepodařilo se nám poslat SQL dotaz do databáze Jméno Heslo ( ! ) Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\wamp\www\resultdb.php on line 39 Call Stack # Time Memory Function Location 1 0.0006 372944 {main}( ) ..\resultdb.php:0 2 0.1229 379056 mysql_fetch_row ( ) ..\resultdb.php:39 PS: nechápu jak může script připojit uživatele ROOT, ale neselectnout požadovanou datbázi když je syntaxe správně...nějaké rady?
    Josef Kufner avatar 18.10.2011 11:24 Josef Kufner | skóre: 67
    Rozbalit Rozbalit vše Re: Logovací systém - porovnávání výsledků z formuláře s údaji v databázi
    Proč tam máš všude obrácené apostrofy místo normálních?
    Hello world ! Segmentation fault (core dumped)
    18.10.2011 11:46 Johny
    Rozbalit Rozbalit vše Re: Logovací systém - porovnávání výsledků z formuláře s údaji v databázi
    protože bez nich mi nefunguje ani to mysql_connect(). to nebude podle mě tímhle...
    18.10.2011 12:22 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Logovací systém - porovnávání výsledků z formuláře s údaji v databázi
    Na to lze odpovědět jen: „to je pěkná blbost“.
    Je třeba znát základy jazyka, a u PHP prostě řetězce mohou být buď mezi " nebo ' a každý má jinou funkcionalitu (pro znalé, <<< je fčul zbytečné :-)).
    Zkuste si třeba v terminálu:
    php -r 'echo `ls`;'
    a pak:
    php -r 'echo "ls";'
    trochu rozdíl, že?
    Znak ` - v PHP nemá místo, krom toho, že je to znak jak každý jiný.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    18.10.2011 11:56 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Logovací systém - porovnávání výsledků z formuláře s údaji v databázi
    Rozlišujte ` ' ", v této kombinaci (MySQL a PHP):
    ` - má význam v MySQL příkazu pro názvy DB, tabulek, sloupců
    ' - PHP řetězec „jak je“
    " - PHP řetězec dosazující proměnné atd.

    Následující upravený(neříkám, že super správný) kód je normálně funkční.
    <?php
    $id_spojeni = mysql_connect('localhost','root','heslo');
    if (!$id_spojeni)
    {
      echo "Spojení s MySQL databází se nezdařilo\n";
      exit(1);
    }
    else
    {
      echo "Spojeni s databází navázáno\n";
    }
    
    $vysledek_vybrani = mysql_select_db('users', $id_spojeni);
    if (!$vysledek_vybrani)
    {
      echo "Databázi users se nám nepodařilo vybrat\n";
      echo "Error no. " . mysql_errno($id_spojeni) . ", Message: " . mysql_error($id_spojeni)  . "\n";
      exit(2);
    }
    else
    {
      echo "Databáze users vybrána\n";
    }
    
    $id_vysledku = mysql_query('SELECT * FROM logintable',$id_spojeni);
    if (!$id_vysledku)
    {
      echo "Nepodařilo se nám poslat SQL dotaz do databáze\n";
      echo "Error no. " . mysql_errno($id_spojeni) . ", Message: " . mysql_error($id_spojeni)  . "\n";
      exit(3);
    }
    else
    {
      echo "Podařilo se poslat SQL dotaz\n";
    }
    //Jméno
    //Heslo
    while($radek = mysql_fetch_row($id_vysledku))
    {
      for ($i=0; $i<2; ++$i)
        echo $radek[$i] . "\n";
    }
    mysql_close($id_spojeni);
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Josef Kufner avatar 18.10.2011 14:38 Josef Kufner | skóre: 67
    Rozbalit Rozbalit vše Re: Logovací systém - porovnávání výsledků z formuláře s údaji v databázi
    Btw, tady je příklad, který výsledek SQL dotazu naformátuje do tabulky.

    Maličko upravený (hlavně doplněno escapování html značek ve výsledku):
    <?php
    $query="select * from user";
    $result=mysql_query($query);
    $numfields = mysql_num_fields($result);
    
    echo "<table>\n<tr>";
    
    // Header
    for ($i=0; $i < $numfields; $i++) {
       echo '<th>', htmlspecialchars(mysql_field_name($result, $i)), '</th>';
    }
    
    echo "</tr>\n";
    
    // Data
    while ($row = mysql_fetch_row($result)) {
       echo '<tr>';
       foreach ($row as $col) {
         echo '<td>', htmlspecialchars($col), '</td>';
       }
       echo "</tr>\n";
    }
    
    echo "</table>\n"
    ?>
    
    Jinak doporučuju se podívat na funkci mysql_fetch_assoc. Kód při jejím používání je mnohem čitelnější a prý to ani není nijak znatelně pomalejší.

    A pak také na mysql_real_escape_string.
    Hello world ! Segmentation fault (core dumped)
    rADOn avatar 18.10.2011 18:54 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Logovací systém - porovnávání výsledků z formuláře s údaji v databázi
    Pokud potřebuješ jen jednoduché přihlášení, vybodni se na SQL a formuláře a použij http autentizaci. Je to otázka pár řádků v konfiguráku a plaintextového souboru s hesly. Zakryptovanými! (styď se).

    Pokud chceš něco složitějšího, máš to blbě od začátku do konce.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    18.10.2011 19:09 l4m4
    Rozbalit Rozbalit vše Re: Logovací systém - porovnávání výsledků z formuláře s údaji v databázi
    s/jednoduché přihlášení/\0 ručně administrátorem udržované množiny uživatelů/
    To je dost velký rozdíl.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.