Kezdő php probléma. Mi a megoldás?
Szeretnék egy olyan php-t írni, ami egy jelszó ellenében továbbenged a letöltésekhez. Viszont ha a kódba írom a jelszót, akkor bárki beléphet.
Eddig jutottam, de még ez is hibás.
<?php
if('kod'=="ABC"){echo "Letöltheti.";}else{echo "A kód nem megfelelő";}
?>
<?php
if(isset($_POST['belepes'])) {
$jelszo = $_POST['jelszo'];
if($jelszo == 'abc') {
$_SESSION['belepve'] = true;
}
else {
$_SESSION['belepve'] = false;
}
if($_SESSION['belepve']) {
echo '<a href="valami.jpg">Kép letöltése</a>';
}
else {
echo 'Nem vagy belépve.';
}
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ">
Jelszó: <input type="password" name="jelszo" id="jelszo" /><br />
<input type="submit" name="belepes" id="belepes" value="Belépés" />
</form>
Mint mindig, most is kifelejtettem valamit...
Ezt írd a <?php után:
session_start();
Alapfogalmakkal nem vagy tisztában, mint például a változó. A php kódot pedig nem fogja látni senki, csak azt amit kiíratsz.
Ez így helyes, ha ezt írom a belépéshez?
echo '<meta http-equiv="refresh" content="0;url= [link]
Inkább ezt:
if($_SESSION['belepve']) {
header('Location: index.php');
}
Ha nem akarod, hogy linkre kattintással töltsenek le, akkor csak egy valamit tudnak letölteni belépéskor, mégpedig úgy, hogy rögtön arra a valamire irányítod:
<?php
if(isset($_POST['belepes'])) {
$jelszo = $_POST['jelszo'];
if($jelszo == 'abc') {
header('Location: images/kep.jpg');
}
else {
echo 'Nem vagy belépve.';
}
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ">
Jelszó: <input type="password" name="jelszo" id="jelszo" /><br />
<input type="submit" name="belepes" id="belepes" value="Belépés" />
</form>
...csak így nem marad belépve. De ha beléptetve akarod hagyni, akkor az átírányítás előtt éllítsd be a $_SESSION-t.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!