Autor | Zpráva | ||
---|---|---|---|
Doom Profil * |
#1 · Zasláno: 13. 1. 2009, 17:22:52
Dobrý den mám script v php
<?php $jmeno = $_POST['jmeno'] ; $heslo = $_POST['heslo'] ; $heslo1 = include("$jmeno-heslo.php"); if($heslo == $heslo1) echo ('Zadaj jsi správné heslo'); else ('dxcxycx'); ?> mam vytvořený soubor např. xcv-heslo.php zjd-heslo.php a když uživatel zadá jméno xcv otevře se soubor xcv-heslo.php který je hodnotou proměne heslo1 a když poto mpomocí podmínku kontroluji správnotu hesla nic se nevypíše. Nevíte v čem je chyba. Díky ps: Nechci použít databázi. |
||
Doom Profil * |
#2 · Zasláno: 13. 1. 2009, 17:24:33
*v souboru $xcv-heslo.php mám napsáno slovo(heslo) mašinka
|
||
kletely Profil |
#3 · Zasláno: 13. 1. 2009, 17:30:20
Doom
„*v souboru $xcv-heslo.php mám napsáno slovo(heslo) mašinka“ Nechceš radšej do nejeho napísať: <?php $heslo1 = "mašinka"; ?> include("$jmeno-heslo.php"); „else ('dxcxycx');“ To čo je? |
||
Doom Profil * |
#4 · Zasláno: 13. 1. 2009, 17:33:25
kletely
Špatně sem se vyjádřil <?php $heslo1 = "mašinka"; ?> v tom souboru mám ale stejně to nefunguje to dxc a tak je tam jen jako zkušební text |
||
Joker Profil |
#5 · Zasláno: 13. 1. 2009, 17:35:34 · Upravil/a: Joker
Doom
Nejspíš to nefunguje kvůli tomu, co je v těch includovaných PHP souborech. Příkaz include nevrací vkládaný soubor, prostě ho provede. Aby to fungovalo, muselo by v xcv-heslo.php být tohle: <?php return("mašinka"); ?> Nicméně podle mě tohle celkově není právě nejlepší způsob kontrolování jména. Třeba tak jak to je teď napsané bych to obešel poměrně jednoduše... edit- poznámka: $heslo1 = include("$jmeno-heslo.php"); ...pokud uvnitř toho vloženého souboru nebude příkaz return, tak v proměnné $heslo1 bude obvykle uložené číslo 1 (pokud include byl úspěšný). |
||
kletely Profil |
#6 · Zasláno: 13. 1. 2009, 17:37:11 · Upravil/a: kletely
Doom
<?php $jmeno = $_POST['jmeno'] ; $heslo = $_POST['heslo'] ; include("$jmeno-heslo.php"); //include sa nedá vložiť do žiadnej premeny if($heslo == $heslo1) echo ('Zadaj jsi správné heslo'); else echo('dxcxycx'); //zabudol si napísať echo ?> #súbor $jmeno-heslo.php <?php $heslo1 = "mašinka"; ?> |
||
Doom Profil * |
#7 · Zasláno: 13. 1. 2009, 17:37:19
Už to funguje přehlídnul sem že v souboru xcv-heslo.php mám napsany $heslo1 = "mašinka" a pak sem to includoval do $heslo1
|
||
Doom Profil * |
#8 · Zasláno: 13. 1. 2009, 17:38:55
Joker
Dík za upozornění, můžu se jen zeptat jaký nmzpůsobem by si to obešel? |
||
Joker Profil |
#9 · Zasláno: 13. 1. 2009, 17:41:29
kletely
upřesnění: //include sa nedá vložiť di žiadnej premeny Ale dá. $promenna = include("soubor.php"); Kód souboru se provede a v $promenna bude: - pokud je v souboru PHP příkaz return() => hodnota vrácená příkazem return - jinak, pokud se soubor povedlo načíst => 1 - pokud se soubor nepovedlo načíst => false |
||
Joker Profil |
#10 · Zasláno: 13. 1. 2009, 17:50:41
Doom
Dík za upozornění, můžu se jen zeptat jaký nmzpůsobem by si to obešel? Zadal bych neexistující jméno a prázdné heslo. Neexistující jméno => neexistuje ani soubor s heslem => include nic nenačte => $heslo1 = null => při porovnání s řetězcem se null převádí na prázdný řetězec => if("" == "") a jsem tam. |
||
Časová prodleva: 15 let
|
0