Autor Zpráva
Hora Vysoká
Profil *
Na stránkách, které dělám jsem udělal jednoduché přihlašování, kde se přebír mnoho proměných jako auth, timein, timout, heslo, jméno... Jenže po odeslání formuláře za adresou nepřibyde žádná, takže logicky, to zase hodí přihlašovací formulář.

Používám method="post" a $_POST['xyz']
koudi
Profil
těžko říct takhle, zkus hodit kus kódu
sqi
Profil *
Jestliže to chceš mít v url tak musíš mít method="get", a $_GET['xyz'], post nepředává parametry v url (uri) ale to nemění nic natom, že by Ti to mělo fungovat, napiš sem kód.
Hora Vysoká
Profil *
Je to udělané pomocí stylu(zatím), ale na to nehledtě.

Tohle je začátek stránka s formulářem a zbytkem stránky.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="cs">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<link rel="stylesheet" href="/rozhrani/style.css" type="text/css" media="all">

<title>Administrátorské rozhraní - <? echo "$page";?></title>

<?
$velikost = 10;
$velikost2 = 10;
?>

<!-- vkládání souboru s připojením k databázi a podmínkama pro příhlášení -->
<?
include ".../rozhrani/primary.php3";
?>

<SCRIPT LANGUAGE="JavaScript">
function openWindow() {
window.open("","okno",'toolbar=0,location=0,scrollbars=1,width=270,height=300,resizable=1,left=150');
}
</SCRIPT>
</head>
<!-- přihlašovací formulář -->

<form action="http://zs-petrvald.wz.cz/rozhrani/mainmenu.php" method="post" name="formular">
<table class="signIN" width="200" align="center" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><b>Jméno:</b></td>
<td><input type="text" name="jmeno" value="<? echo $jmeno?>" maxlength="20" size="10">
<input type="hidden" name="timein" value="<? echo time()?>">
<input type="hidden" name="timeout" value="<? echo time()?>">
</td>
</tr>
<tr>
<td><b>Heslo:</b></td>
<td><input type="password" name="heslo" size="10"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="Přihlásit" name="prihlasit">
</td>
</tr>
</table>
</form>

<!-- začátek tabulky -->
<DIV class="all">
<table width="100%" align="center" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="levo">

A tady je soubor s těmi podmínkami(primary.php3).
<?
if ($_POST['auth'] == "1" || $_POST['auth'] == "")
{
if ($_POST['$timeout'] >= time() + 3600 || $_POST['$timeout'] == "")
{
//podmínky pro formulář
if ($_POST['jmeno'] == "" || $_POST['heslo'] == "")
{
echo "<center><b>Jedna z přihlašovacích položek zůstala prázdná<i>!</i></b></center>";
echo "<style>.all {display: none;}</style>";
echo "<style>.signIN {}</style>";
}
else
{
if ($_POST['jmeno'] == "Admin")
{
if ($_POST['heslo'] == "figura")
{
echo "<style>.all {}</style>";
echo "<style>.signIN {display: none;}</style>";
}
else
{
echo "<center><b>Špatně zadané heslo<i>!</i></b></center>";
echo "<style>.all {display: none;}</style>";
echo "<style>.signIN {}</style>";
}
}
else
{
echo "<center><b>Špatně zadané jméno<i>!</i></b></center>";
echo "<style>.all {display: none;}</style>";
echo "<style>.signIN {}</style>";
}
}
}
else
{
echo "<style>.all {}</style>";
echo "<style>.signIN {display: none;}</style>";
}
}
else
{
echo "<style>.signIN {display: none;}</style>";
echo "<style>.all {}</style>";
}
?>
koudi
Profil
Nic proti, ale to je docela zoufalost - na to php sem ještě nekoukal, ale ten způsob, kterym zobrazuješ/nezobrazuješ ty admin položky, to je teda síla. Nic proti, ale možná bys ses měl věnovat něčemu úplně jinýmu, než programování.
Paja a jaja
Profil *
koudi
každej má svůj styl/nestyl psaní kódu, možná bys měl spíš poradit než odrazovat...

Hora Převysoká
nejsem si jistej tím zápisem stylů, takhle to vypadá, že ten formulář se bude zobrazovat vždycky, protože ta definice je až v <body> ... ale fakt nevin, jestli teď nekecám

osobně bych se taky přiklonil ke koudimu a psal bych to celý nějak takhle:


<?php
if isset (jmeno a heslo) a (jmeno a heslo OK) {

echo tabulka All;

}

else echo formular;
?>

respektive include tabulka.php x formular.php + vetve pro spatne jmeno x heslo


Doufám, že to aspoň trochu pomůže...
koudi
Profil
Paja a jaja: no, trošku sem se nechal unést pravda, (promiň Horo), ale takovýhle zabezpečení je fakticky silná prasečina.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0