Autor Zpráva
Doom
Profil *
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 *
*v souboru $xcv-heslo.php mám napsáno slovo(heslo) mašinka
kletely
Profil
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";
?>
a podom iba includeš
include("$jmeno-heslo.php");

else
('dxcxycx');

To čo je?
Doom
Profil *
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
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
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 *
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 *
Joker
Dík za upozornění, můžu se jen zeptat jaký nmzpůsobem by si to obešel?
Joker
Profil
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
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: