Diskuze: Jak vypsat proměnu z jiného PHP skriptu
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
HTML soubor:
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<h2>Přihlášení</h2>
<form id="login" action='login-sys.php' method='POST'>
Uživatelské jméno:<br>
<input type="text" name="username"><br>
Heslo:<br>
<input type="text" name="password"><br>
<input type="submit" name="submit" value="Přihlásit se">
</form>
</body>
</html>
PHP soubor č. 1:
<?php
error_reporting(0);
$submit = $_POST['submit'];
$username = STRIP_TAGS($_POST['username']);
$password = STRIP_TAGS($_POST['password']);
$date = date("Y-m-d");
if ($submit)
{
if(file_exists("users/".$username))
{
if(file_exists("users/".$username."/passwd.txt"))
{
$ServerPassword = file_get_contents("users/".$username."/passwd.txt",
FILE_USE_INCLUDE_PATH);
if($ServerPassword == $password)
{
$logeduser = fopen("users/".$username."/loged-user.txt", "w") or die("A jé
jé, chyba.");
fwrite($logeduser, $username);
fclose($logeduser);
header("Location: main.php");
}
else
{
echo "Špatné heslo!";
}
}
else
{
echo "A jé jé, chyba.";
[/code]";
}
}
else
{
if($username == "")
{
echo "Prosím vyplňte všechna pole!";
}
else
{
echo "Uživatel neexistuje.";
}
}
}
?>
PHP soubor č. 2:
<?php
include 'login-sys.php';
echo "My username: $username";
?>
HTML soubor:
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<h2>Přihlášení</h2>
<form id="login" action='login-sys.php' method='POST'>
Uživatelské jméno:
<input type="text" name="username">
Heslo:
<input type="text" name="password">
<input type="submit" name="submit" value="Přihlásit se">
</form>
</body>
</html>
PHP soubor č. 1:
<?php
error_reporting(0);
$submit = $_POST['submit'];
$username = STRIP_TAGS($_POST['username']);
$password = STRIP_TAGS($_POST['password']);
$date = date("Y-m-d");
if ($submit)
{
if(file_exists("users/".$username))
{
if(file_exists("users/".$username."/passwd.txt"))
{
$ServerPassword = file_get_contents("users/".$username."/passwd.txt", FILE_USE_INCLUDE_PATH);
if($ServerPassword == $password)
{
$logeduser = fopen("users/".$username."/loged-user.txt", "w") or die("A jé jé, chyba.");
fwrite($logeduser, $username);
fclose($logeduser);
header("Location: main.php");
}
else
{
echo "Špatné heslo!";
}
}
else
{
echo "A jé jé, chyba.";
";
}
}
else
{
if($username == "")
{
echo "Prosím vyplňte všechna pole!";
}
else
{
echo "Uživatel neexistuje.";
}
}
}
?>
PHP soubor č. 2:
<?php
include 'login-sys.php';
echo "My username: $username";
?>
Jo, co třeba databáze? Stejně se jim nevyhneš, pokud to
myslíš s programováním vážně.
A nebo... proměnou $_SESSION (nezapomeň na
session_start())?
A nebo co zkusit pro začátek vložit kód rovnou do té hlavní stránky - tj. nemít jen "HTML soubor", ale třeba index.php s HTML formulář odkazujícím sám na sebe?
viz Lasvit a Roman Duchoň
1. Urcite si tam pridej zobrazovani chyb. Zmen nastaveni php.ini nebo pres .htaccess nebo v php pridej nahoru toto
error_reporting(E_ALL);
ini_set('display_errors', 1);
2. STRIP_TAGS - nazev te funkce je malymi pismeny. Zmena pismena je jako zmenit slovo 'jabka' na 'hrusky'.
3. Tvuj problem se da resit pomoci
session_start()
$_SESSION['nazev'] = 'hodnota'; // <input name=nazev value=hodnota>
header(...url...)
To radeji ukazovat nebudu.
include 'overeni.php';
include 'dalsikod.php';
overUzivatele('jmeno', 'heslo');
funkceZDalsiKod('jmeno', 'heslo');
//header(...url...)
header("Location: main.php");
header("Location: main.php?jmeno=aaa&heslo=bbb");
Díky za vaše odpovědi jsem začátečník v PHP, takže databázi zatím nebudu používat. Vyřešil jsem to tedy funkcí session.
Zobrazeno 8 zpráv z 8.