Zdravím,
potřeboval bych trochu pomoc a něco zkontrolovat.
Toto je soubor registrace.php: http://pastebin.com/m2a7bdcee
Toto je soubor prihlaseni.php: http://pastebin.com/m4cb46737´
Toto je soubor registracedokoncena: http://pastebin.com/m340aa182
A nevím zda to mám správně.Toto jsem napsal podle knihy (skládal jsem to) a nevím jestli je to "gramaticky" správně. Musím vyplnit přístup do databáze a nevím jak to tam mám dopsat, jestli to má být i se závorkama nebo bez (např. (SQL_HOST, SQL_USERNAME, SQL_PASSWORD)) a nevím jestli tam mají být ty závorky a jak to tam napsat, prosím uveďte to na příkladu. A ještě něco, zkoušel jsem toto:
[syntax lang=php]
<?
session_start();
require "./func.php";
if ($_GET["clanek"]=="prihlaseni")
{
$link=mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD);
mysql_select_db(SQL_DBNAME);
$id = iduzivatele($_POST["prezdivka"], $_POST["heslo"], $link);
if ($id<>0) $_SESSION["id"]=$id;
}
elseif ($_GET["clanek"]=="odhlaseni")
{
unset($_SESSION["id"]);
}
?>
[/syntax]
vložit na úplný začátek souboru index.php a dovnitř do menu (mezi značky <li>) jsem vložil toto:
[syntax lang=php]<p><a href="index.php?clanek=odhlaseni">Odhlásit</a></p>
<?else:?>
<p><a href="index.php?clanek=prihlaseni">Přihlásit</a></p>
<?endif?>
<p><a href="index.php?clanek=registrace">Zaregistrovat</a></p>
[/syntax]
A když to dám na web, stisknu položku zaregistrovat tak se nic neděje, jen se změní odkaz. Je toto docela rozsáhlá otázka, ale prosíííím vás pomocte mi s tím jak to dát dohromady, už si s tím nevím rady.
Díky moc za každou radu.[syntax][/syntax]
PHP-přihlášení, odhlášení + registrace
PHP-přihlášení, odhlášení + registrace
Naposledy upravil(a) $Iceman$ dne 18 led 2010 21:23, celkem upraveno 2 x.
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: PHP-přihlášení, odhlášení + registrace
No to je nádhera, takovou knihu bych hned zahodil... Taková kombinace PHP a HTML, pořád otevírat a uzavírat PHP, no nic, tvoje volba.
Mohl bys poslat kde máš ty stránky umístěné ?
connection string v PHP k MySQL:
[syntax lang=php]
MySQL_Connect("mysql.ic.cz","ic_zkouska","super tajne heslo") Or Die(mysql_error());
MySQL_Select_DB("ic_zkouska") Or Die(mysql_error());
[/syntax]
pak už jsou normal MySQL_Query dotazy
Jo a PHP začíná <? ale lepší je <?php poté co jsem se dozvěděl že <? je nějaký ošizený o 80% funkcí :(
Mohl bys poslat kde máš ty stránky umístěné ?
connection string v PHP k MySQL:
[syntax lang=php]
MySQL_Connect("mysql.ic.cz","ic_zkouska","super tajne heslo") Or Die(mysql_error());
MySQL_Select_DB("ic_zkouska") Or Die(mysql_error());
[/syntax]
pak už jsou normal MySQL_Query dotazy
Jo a PHP začíná <? ale lepší je <?php poté co jsem se dozvěděl že <? je nějaký ošizený o 80% funkcí :(
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
- Stene
- Level 6
- Příspěvky: 3124
- Registrován: únor 09
- Bydliště: Jihlava
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: PHP-přihlášení, odhlášení + registrace
Přesně jak říká CzechBoy.. Kde máš spojení s databází?
Jo.. k těm registracím -> udělal bych to asi takhle
registrace.php
[syntax]
#
<?
#
function JeEmail ($cislo)
#
{
#
return ereg("^.+@.+\..+$",$cislo);
#
}
#
#
function emailvdb ($email, $link)
#
{
#
$vysledek=mysql_query("select * from uzivatele where email='".$email."'", $link);
#
return (boolean) mysql_num_rows($vysledek);
#
}
#
#
function prezdivkavdb ($prezdivka, $link)
#
{
#
$vysledek=mysql_query("select * from uzivatele where prezdivka='".$prezdivka."'", $link);
#
return (boolean) mysql_num_rows($vysledek);
#
}
#
// tìlo skriptu - nejprve si vytvoøíme odkaz na databázi
#
$link=mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD);
#
mysql_select_db(SQL_DBNAME);
#
#
$BudemeZobrazovat=true;
#
if (!empty($_POST)) // už se odeslalo
#
{
#
/*
#
budeme kontrolovat následující vìci:
#
1) e-mailovou adresu
#
2) zda tam již e-mail není
#
3) zda tam již pøezdívka není
#
4) zda je pøezdívka mezi 3 a 50 znaky délky
#
5) zda je heslo 3 až 50 znakù dlouhé
#
*/
#
if (!JeEmail($_POST["email"])) echo "Není zadán platný e-mail";
#
elseif (emailvdb($_POST["email"], $link)) echo "Uvedený e-mail je již registrován";
#
elseif (prezdivkavdb ($_POST["prezdivka"], $link)) echo "Uvedená pøezdívka je již registrována";
#
elseif ((strlen ($_POST["prezdivka"])>50) | strlen ($_POST["prezdivka"])<3)echo "Pøezdívka musí mít 3-50 znakù";
#
elseif ((strlen ($_POST["heslo"])>50) | strlen ($_POST["heslo"])<3) echo "Heslo musí mít 3-50 znakù";
#
else
#
{
#
// kontolou jsme prošli
#
$BudemeZobrazovat=false;
#
// podìkujeme uživateli
#
echo "Dìkujeme za registraci. Na vaši adresu ".$_POST["email"]." byly zaslány informace pro její dokonèení.";
#
// uložíme to do databáze
#
mysql_query ("insert into uzivatele (email, prezdivka, heslo) values ('".$_POST["email"]."', '".$_POST["prezdivka"]."', '".$_POST["heslo"]."');", $link);
#
$lastid=mysql_insert_id();
#
// a sestavíme e-mail s instrukcemi, jak registraci dokonèí
#
$path="http://".$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["SCRIPT_NAME"]."?clanek=registracedokoncena&id=".$lastid."&email=".$_POST["email"];
#
$telo = "Dekujeme Vam za registraci na nasem portale [ZS Vacov]. Pro dokonceni ".
#
"registrace klepnete na nasledujici odkaz\n".
#
"<a href=\"$path\">$path</a>\n".
#
"Pokud jste se na nasem portale nechteli zaregistrovat, povazujte tento e-mail za bezpredmetny.\n".
#
"Vas [Admin] team.";
#
@mail ($_POST["email"], "Registrace na portalu", $telo);
#
}
#
}
#
if ($BudemeZobrazovat):?>[/syntax]
registrace_html.php
[syntax]#
<form method="post" action="index.php?clanek=registrace">
#
<table>
#
<tr>
#
<td>Pøezdívka:</td>
#
<td><input name="prezdivka" value="<?echo $_POST["prezdivka"]?>"></td>
#
</tr>
#
<tr>
#
<td>E-mail:</td>
#
<td><input name="email" value="<?echo $_POST["email"]?>"></td>
#
</tr>
#
<tr>
#
<td>Heslo:</td>
#
<td><input name="heslo" type = "password" value="<?echo $_POST["heslo"]?>"></td>
#
</tr>
#
<tr>
#
<td colspan="2"><input type="Submit" name="odesli" value="Zaregistrovat"></td>
#
</tr>
#
</table>
#
</form>[/syntax]
Jo.. k těm registracím -> udělal bych to asi takhle
registrace.php
[syntax]
#
<?
#
function JeEmail ($cislo)
#
{
#
return ereg("^.+@.+\..+$",$cislo);
#
}
#
#
function emailvdb ($email, $link)
#
{
#
$vysledek=mysql_query("select * from uzivatele where email='".$email."'", $link);
#
return (boolean) mysql_num_rows($vysledek);
#
}
#
#
function prezdivkavdb ($prezdivka, $link)
#
{
#
$vysledek=mysql_query("select * from uzivatele where prezdivka='".$prezdivka."'", $link);
#
return (boolean) mysql_num_rows($vysledek);
#
}
#
// tìlo skriptu - nejprve si vytvoøíme odkaz na databázi
#
$link=mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD);
#
mysql_select_db(SQL_DBNAME);
#
#
$BudemeZobrazovat=true;
#
if (!empty($_POST)) // už se odeslalo
#
{
#
/*
#
budeme kontrolovat následující vìci:
#
1) e-mailovou adresu
#
2) zda tam již e-mail není
#
3) zda tam již pøezdívka není
#
4) zda je pøezdívka mezi 3 a 50 znaky délky
#
5) zda je heslo 3 až 50 znakù dlouhé
#
*/
#
if (!JeEmail($_POST["email"])) echo "Není zadán platný e-mail";
#
elseif (emailvdb($_POST["email"], $link)) echo "Uvedený e-mail je již registrován";
#
elseif (prezdivkavdb ($_POST["prezdivka"], $link)) echo "Uvedená pøezdívka je již registrována";
#
elseif ((strlen ($_POST["prezdivka"])>50) | strlen ($_POST["prezdivka"])<3)echo "Pøezdívka musí mít 3-50 znakù";
#
elseif ((strlen ($_POST["heslo"])>50) | strlen ($_POST["heslo"])<3) echo "Heslo musí mít 3-50 znakù";
#
else
#
{
#
// kontolou jsme prošli
#
$BudemeZobrazovat=false;
#
// podìkujeme uživateli
#
echo "Dìkujeme za registraci. Na vaši adresu ".$_POST["email"]." byly zaslány informace pro její dokonèení.";
#
// uložíme to do databáze
#
mysql_query ("insert into uzivatele (email, prezdivka, heslo) values ('".$_POST["email"]."', '".$_POST["prezdivka"]."', '".$_POST["heslo"]."');", $link);
#
$lastid=mysql_insert_id();
#
// a sestavíme e-mail s instrukcemi, jak registraci dokonèí
#
$path="http://".$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["SCRIPT_NAME"]."?clanek=registracedokoncena&id=".$lastid."&email=".$_POST["email"];
#
$telo = "Dekujeme Vam za registraci na nasem portale [ZS Vacov]. Pro dokonceni ".
#
"registrace klepnete na nasledujici odkaz\n".
#
"<a href=\"$path\">$path</a>\n".
#
"Pokud jste se na nasem portale nechteli zaregistrovat, povazujte tento e-mail za bezpredmetny.\n".
#
"Vas [Admin] team.";
#
@mail ($_POST["email"], "Registrace na portalu", $telo);
#
}
#
}
#
if ($BudemeZobrazovat):?>[/syntax]
registrace_html.php
[syntax]#
<form method="post" action="index.php?clanek=registrace">
#
<table>
#
<tr>
#
<td>Pøezdívka:</td>
#
<td><input name="prezdivka" value="<?echo $_POST["prezdivka"]?>"></td>
#
</tr>
#
<tr>
#
<td>E-mail:</td>
#
<td><input name="email" value="<?echo $_POST["email"]?>"></td>
#
</tr>
#
<tr>
#
<td>Heslo:</td>
#
<td><input name="heslo" type = "password" value="<?echo $_POST["heslo"]?>"></td>
#
</tr>
#
<tr>
#
<td colspan="2"><input type="Submit" name="odesli" value="Zaregistrovat"></td>
#
</tr>
#
</table>
#
</form>[/syntax]
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
Problém s načítáním stránek - bílá blikající obrazovka po přihlášení
od linkinlot9 » 31 pro 2024 15:36 » v Programování a tvorba webu - 1
- 1598
-
od kecalek
Zobrazit poslední příspěvek
31 pro 2024 16:27
-
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 8 hostů