Ok, vďaka, za pomoc, ak by som niečomu ďalej nechápal, budem písať do tohoto vlákna :)
Příspěvky odeslané z IP adresy 92.52.51.–
Majox
Majox
Vďaka, pohľadám :)
Majox
Tak, toto je super riešenie ;)
A prosím, poradil by mi niekto, ako na registráciu s overovacím textom(obrázkom) a s kontrolou formátu e-mailu? :)
Majox
Takže, ak som tomu lepšie pochopil, v podstate by stačilo, ak by som v kóde na registráciu dal namiesto normal. "POST" dal niečo takéto:
$nick = mysql_real_escape_string($_POST[nick]);
pomohlo by to, alebo aký kód by som mal použiť?
Ak, som tomu pochopil mám to použiť v logine aj v registrácii?
Ak, som tomu nepochopil správne, bolo by možné mi uviesť príklad, ako inak by som to mal riešiť? + ako by bolo možné dať na konci registrácie ten verifikačný (obrázkový popr. textový) kód?
Ďakujem
Majox
Majox
Ok, prezriem si to, ak niečomu nepochopím, tak určite napíšem!
Zatiaľ, vďaka...
Majox
Ahojte, začínam robiť s PHP a podarilo sa mi vytvoriť Registráciu a Login, len neviem, či je to bezpečné a či to nie je náchylné na SQL Injection a na Robotov... Preto, by som vás veľmi prosil, či by ste mi tieto doleuvedené kódy,neupravili, tak aby boli aspoň o štipku bezpečnejšie ;)
Ďakujem za pomoc!
S Pozdravom:
Majox ;)
Kódy:
Login:
<html>
<form action='login.php' method='POST'>
Nickname:<input type='text' name='uzivatel' maxlength='25'></br>
Heslo:<input type='password' name='heslo' maxlength='25'></br>
<input type='submit' name='Prihlásiť sa!'>
</form><p>
<a href='registracia.php'>Registrovať?</a>
</html>
Loginspracuj:
<?php
session_start();
$uzivatel = $_POST['uzivatel'];
$heslo = $_POST['heslo'];
if ($uzivatel&&$heslo)
{
$connect = mysql_connect ("localhost","root","") or die ("Nemôžem sa pripojiť!!");
mysql_select_db ("web") or die ("Nemôžem nájsť databázu!");
$query = mysql_query ("SELECT * FROM uzivatelia WHERE uzivatel='$uzivatel'");
$numrows = mysql_num_rows ($query);
if ($numrows!=0)
{
while ($row = mysql_fetch_assoc ($query) )
{
$dbuzivatel = $row ['uzivatel'];
$dbheslo = $row ['heslo'];
$aktivacia = $row ['aktivacia'];
if ($aktivacia=='0')
{
die ('Váš účet zatiaľ, nie je aktivovaný! Prosím, skontrolujte si E-mail!');
exit();
}
}
if ($uzivatel==$dbuzivatel&&md5 ($heslo)==$dbheslo)
{
echo "Úspešne ste sa prihlásili! Kliknite <a href='uzivatel.php'>sem</a>, pre vstup na úvodnú stránku!";
$_SESSION ['uzivatel']=$uzivatel;
}
else
echo "Nesprávne heslo!!";
}
else
die ("Zadaný uživateľ, neexistuje");
}
else
die ("Prosím, zadajte Nickname a heslo!")
?>
Registrácia:
<?php
function sterilize ($input, $is_sql = false)
{
$input = htmlentities($input, ENT_QUOTES);
if(get_magic_quotes_gpc ())
{
$input = stripslashes ($input);
}
if ($is_sql)
{
$input = mysql_real_escape_string ($input);
}
$input = strip_tags($input);
$input = str_replace("
", "\n", $input);
return $input;
}
echo "<h1>Registrácia</h1>";
$odoslat = strip_tags ($_POST ['odoslat']);
$nick = (strip_tags ($_POST ['nick']));
$heslo = strip_tags($_POST ['heslo']);
$opakovat = strip_tags($_POST ['opakovat']);
$datum = date ("Y-m-d");
$email = $_POST ['email'];
if ($odoslat)
{
$connect = mysql_connect ("localhost","root","");
mysql_select_db ("web");
$nickkontrola = mysql_query ("SELECT uzivatel FROM uzivatelia WHERE uzivatel='$nick'");
$count = mysql_num_rows ($nickkontrola);
if ($count!=0)
{
die ("Zadaný nick sa už používa!");
}
if ($nick&&$heslo&&$opakovat)
{
if ($heslo==$opakovat)
{
if (strlen($nick)>25)
{
echo "Nick použivateľa je príliš dlhý, prosím zadajte nick maximálne do 25 znakov!";
}
else
{
if (strlen($heslo)>25||strlen ($heslo)<6)
{
echo "Heslo musí mať od 6-25 znakov!";
}
else
{
//register
$heslo = md5 ($heslo);
$opakovat = md5 ($opakovat);
$randomcislo = rand(15236548,99563254);
$queryreg = mysql_query("INSERT INTO uzivatelia VALUES ('','$nick','$heslo','$email','$datum','$randomcislo','0')");
$posledneid = mysql_insert_id ();
// Poslanie aktivačného emailu
$adresa = $email;
$predmet = "Aktivácia Vášho účtu!";
$hlavicky = "From: Admin@adresa.eu";
// Mail adresa servera ktorú potom doplním! Doladiť!
$server = "mailhost.sheffield.ac.uk";
ini_set ("SMTP",$server);
$telo = "Ahoj $nick,\n\n
Vitaj, na našom portáli,pre prihlásenie je nutné aktivovať svoj účet. Pre aktivovanie klikni na doleuvedený link:
http://localhost/aktivacia.php?id=$posledneid&kod=$randomcislo\n\n
S Pozdravom:\n\n
Majox";
mail($adresa,$predmet,$telo,$hlavicky);
die ("Registrácia prebehla úspešne!");
}
}
echo "";
}
else
echo "Heslá sa nezhodujú!";
}
else
echo "Prosím, vyplnte všetky polia!";
}
?>
<html>
<form action='registracia.php' method='POST'>
<table>
<tr>
<td>
Nick:
</td>
<td>
<input type='text' name='nick' value="<?php echo $nick; ?>" maxlength='25'>
</td>
</tr>
<tr>
<td>
E-mail:
</td>
<td>
<input type='text' name='email' maxlength='50'>
</td>
</tr>
<tr>
<td>
Heslo:
</td>
<td>
<input type='password' name='heslo' maxlength='25'>
</td>
</tr>
<tr>
<td>
Heslo,ešte raz:
</td>
<td>
<input type='password' name='opakovat' maxlength='25' >
</td>
</tr>
</table>
<p><input type='submit' name='odoslat' value='Registrovať!'
</form>
</html>