Autor Zpráva
Debris
Profil *
Dobrý den mám takovíto script na zaheslování stránek:
<? Header("expires: ".GMDate("D, d M Y H:i:s")."GMT") ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Zaheslování v PHP</title>
</head>
<body>
<form action="zaheslovani.php" method="post">
<input name="heslo" type="password">
<input type="submit" value="ok">
</form>
<?
$heslo =$_POST['heslo'];
if ($heslo=="1234") echo "Tajný obsah... zobrazí se po vložení správného hesla";
else echo "Normální obsah stránky objeví se bez zadání hesla:";
?>

A já potřeboju místo toho potvrzení hesla (1234) aby se to heslo nahrávalo z externího souboru tipu .inc (nebo jiného to jej jedno). Skoušel sem místo toho 1234 vložit toto: <? include "1.inc"; ?>. ale to my hlásí chybu
keeehi
Profil
<?php
  $inc = FOpen ("bla.inc", "r"); // otevřeme soubor
  $txt =  fread($inc, filesize("bla.inc")); // uložíme do txt
  FClose($inc); // zavřeme soubor

  $heslo =$_POST['heslo'];
  if ($heslo==$txt) echo "Tajný obsah... zobrazí se po vložení správného hesla";
  else echo "Normální obsah stránky objeví se bez zadání hesla:";
?>
BRAINIAC
Profil *
<? Header("expires: ".GMDate("D, d M Y H:i:s")."GMT") ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Zaheslování v PHP</title>
</head>
<body>
<form action="zaheslovani.php" method="post">
<input name="heslo" type="password">
<input type="submit" value="ok">
</form>
<?
$heslo =$_POST['heslo'];

$file = "subor.inc";
$open = fopen($file, "rb");
$zdroj = fread($open, $filename);
fclose($open);

if ($heslo==$zdroj){
echo "Tajný obsah... zobrazí se po vložení správného hesla";
} else {
echo "Normální obsah stránky objeví se bez zadání hesla:";
}
?>


mozno takto
Debris
Profil *
<? Header("expires: ".GMDate("D, d M Y H:i:s")."GMT") ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Zaheslování v PHP</title>
</head>
<body>
<form action="zaheslovani.php" method="post">
<input name="heslo" type="password">
<input type="submit" value="ok">
</form>
<?
$heslo =$_POST['heslo'];
$file = "subor.inc";
$open = fopen($file, "rb");
$zdroj = fread($open, $filename);
fclose($open);
if ($heslo==$zdroj){
echo "Tajný obsah... zobrazí se po vložení správného hesla";
} else {
echo "Normální obsah stránky objeví se bez zadání hesla:";
}
?>
mozno takto


Takhle jak to máš ty myslím, ale na řádku 17 mi to píše chybu nevím čím to je
Debris
Profil *
Jo a aby toho nebylo málo tak potřebuju vložit do toho: Tajný obsah se zobrazí po zadání hesla potřebuju aby se zobrazilo tohle:
<?
$hlavni = $_POST['hlavni'];

if ($hlavni!=""){ //provede se pokud není prázdná zpráva
$celek="$hlavni";
$soubor = fopen ('dat.inc','a');//otevře soubor pro doplňování
fwrite ($soubor, $celek);//zapíše zprávu
fclose ($soubor); //zavře soubor
}
?>
<h1>úprava vršku</h1>
<?include "dat.inc"; ?>
<h2>Přidání zprávy</h2>
<form action="b.php" method="post">
Zpráva: <input type="text" name="hlavni"> <input type="submit" value="odeslat">
</form>
<br>
<br>
<?php
$soubor = "dat.inc";
$text = fopen("dat.inc", "r");
$obsah = fread($text, filesize($soubor));
FClose($text);
?>
<form action="zprac2.php" name="jmeno3" method="post">
<textarea name="jmeno3" rows="35" cols="70"><?php echo $obsah ?></textarea>
<input type="submit" value="Odeslat">
</form>
<?
$jmeno = $_POST['jmeno'];
$email = $_POST['email'];
$web = $_POST['web'];
$zprava = $_POST['zprava'];
$vrsek = $_POST ['vrsek'];


$jmeno=stripslashes($jmeno); //odstraní lomítka
$email=stripslashes($email);
$web=stripslashes($web);
$vrsek=stripslashes ($vrsek);

$zprava = str_replace("\n"," <br> ", $zprava); //nové řádky nahradí <br>
$zprava = substr($zprava, 0, 10000);//zpráva bude mít maximálně 10000 znaků pomocí substr

$email_celek=" | <a href='mailto:$email'>$email</a>";
$web_celek=" | <a href='$web'>$web</a>";

if ($web=="http://"){$web_celek="";} //pokud se nevyplní nic se nevypíše
if ($email==""){$email_celek="";} // -||-

if ($zprava!="" and $jmeno!=""){ //provede se pokud není prázdná zpráva a jméno
$celek="<p><big><big>$vrsek</big></big><br>$zprava <br><br> Zprávu odeslal: $jmeno $email_celek $web_celek</p><hr>";
$soubor = fopen ('data.inc','a'); //otevře soubor pro doplňování
fwrite ($soubor, $celek); //zapíše zprávu
fclose ($soubor); //zavře soubor
}
?>
<h1>Přidání správy</h1>
<? include "data.inc"; ?>
<h2>Přidání zprávy</h2>
<form action="b.php" method="post"></p>
<table>
<tr><th>*Naspis: </th><td><input type="text" name="vrsek" maxlength="25"></td></tr>
<tr><th>*Jméno: </th><td><input type="text" name="jmeno" maxlength="25"></td></tr>
<tr><th>E-mail: </th><td><input type="text" name="email" maxlength="25"> [nepovinné]</td></tr>
<tr><th>Web: </th><td><input type="text" name="web" value="http://" maxlength="30"> [nepovinné]</td></tr>
<tr><th>*Zpráva: </th><td><textarea cols="60" rows="5" name="zprava"></textarea></td></tr>
<tr><th></th><td><input type="submit" value="odeslat"></td></tr>
</table>
</form>
<br><br>
<?php
$soubor = "data.inc";
$text = fopen("data.inc", "r");
$obsah = fread($text, filesize($soubor));
FClose($text);
?>
<form action="zprac.php" name="jmeno2" method="post">
<textarea name="jmeno2" rows="35" cols="70"><?php echo $obsah ?></textarea>
<input type="submit" value="Odeslat">
</form>
Debris
Profil *
To poslední co jsem potřeboval jsem vyřešil tímto:
<body>
<?php if($_GET["heslo"] != "1111"): ?>
    <!--přihlaąovací formulář -->
    <form>
        Zadej heslo: <input type="password" name="heslo">
        <input type="submit">
    </form>
<? else: ?>
    <h1>Vítejte v Morii!</h1>
    ... další tajný text
<? endif ?>
</body>


Ale pořád je tu můj původní dotaz a prosba o řešní. Místo toho 1111 potřebuju aby se nahrálo heslo z externího souboru (např: 1.inc)
AM_
Profil
Keehi ti napsal pěkné řešení, použij ho.
a zapomeň na short_open_tagy <? ... ?> a používej všude <?php ... ?>.

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: