php "izbor jezika" i potvrda korisnika putem e-mail aktivacije scripta
zerodark:
Pozdrav ! Treba mi scripta koja omogucava izbor jezika na sajtu (bez auto-redirect) na primer iz srpskog u engleski i obrnuto. Ta scripta bi menjala samo odredjene reci (koje su pre definisane).
Imam jos jednu molbu: potvrda registracije korisnika putem e-mail aktivacije. Hvala!
ZEROF:
Gotovih resenja nema, moraces nekog da uposlis. Ako znas php, mozes to i sam resiti. Pogledaj kako funkcionise neka skripta, kao sto je SMF. Isto vazi i za aktivaciju naloga.
zerodark:
Hvala ! Pokusacu resiti problem string replace metodom.
SETI_explorer:
Što se jezika tiče, to je lagano, samo se malo trebaš poigrati sa cookie-ima.
Npr. Link:
Kod:
www.tvojsajt.com/index.php?jezik=en
PHP:
Kod:
<?php
if(isset($_GET['jezik'])) {
if(ctype_alpha($_GET['jezik'])) {
setcookie("jezik", $_GET['jezik'], time()*vreme_trajanja_cookie-a, "/");
header("Location:index.php");
}
else { die("Hacking attempt"); }
}
?>
Što se potvrde registracije tiče, ni to nije problem ali iziskuje vreme i teško da će ti to neko besplatno uraditi. Opet, ako si spreman da izdovjiš manju svotu novca za profesionalnu skriptu, kontaktiraj me ;)
respekt:
Kod:
Ja sam nesto pokusao da uradim na tu temu activaction mail ali nisam uspeo. Evo sta sam ja radio pa cemo svi zajedno pokusati to da odradimo. Recimo sta ovde ne valja to je da kada ja kao posaljem ovaj aktivacioni mail na mail korisnika nebitrebalo da mogu da se logujem medjutim meni login prodje :)))) Mozda ovaj mail bi i dosao kada bi se ovo pokrenulo na serveru ali ocigledno on nebi imao smisla :)
add.php
[code]
<?php
// konekcija na bazu
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("prijavaispita") or die(mysql_error());
//Provjeravamo da li je korisnik pritisnuo submmit
if (isset($_POST['submit'])) {
//Provera da li je korisnik popunio polja
if (!$_POST['ime'] | !$_POST['prezime'] |!$_POST['password']|!$_POST['brindeksa'])
{
die('Niste popunili sva polja');
}
if (!get_magic_quotes_gpc())
{
$_POST['brindeksa'] = addslashes($_POST['brindeksa']);
}
//select za proveru indeksa
$usercheck = $_POST['brindeksa'];
$check = mysql_query("SELECT brojindeksa FROM studenti WHERE brojindeksa = '$usercheck'")
or die("Provjera ne moze da se izvrsi");
$check2 = mysql_num_rows($check);
//select za proveru email-a
$usercheck = $_POST['email'];
$pemail = mysql_query (" SELECT * FROM studenti WHERE email ='$email' ")
or die ("Provera ne moze da se izvrsi");
$check3 = mysql_num_rows($pemail);
//Ako broj indeksa postoji u bazi ispisujemo gresku
if ($check2 != 0)
{
die('Greska, brojindeksa koji ste uneli '.$_POST['brindeksa'].' je u upotrebi.');
}
//Provera da li je unijeta e-mail adresa ispravna
if (!eregi('^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]', $_POST['email']))
{
echo 'Uneta email adresa nije ispravna';
exit;
}
//Proveravamo da li email vec postoji u bazi
if ($check3 !=0)
{
die ('Greska, Email koji ste uneli '.$_POST['email'].' je u upotrebi');
}
// Vrsimo kriptovanje sifre md5 algoritmom
$_POST['password'] = md5($_POST['password']);
if (!get_magic_quotes_gpc()) {
$_POST['password'] = addslashes($_POST['password']);
}
//Ako je korisnik sabmitovao formu
if ($_POST['form_submitted'] == '1')
{
//Definisanje aktivacijskog maila
$activactionkey = mt_rand() . mt_rand() . mt_rand() . mt_rand() . mt_rand();
//Upisivanje u bazu
$datumprijave=date("Y-m-d");
$ime=$_POST['ime'];
$prezime=$_POST['prezime'];
$brindeksa=$_POST['brindeksa'];
$password=$_POST['password'];
$email=$_POST['email'];
$password=mysql_real_escape_string($password);
$insert = "INSERT INTO studenti (imestudenta,prezimestudenta,brojindeksa,password,email,activactionkey,datumprijave)
VALUES ('".$ime."','".$prezime."','".$brindeksa."','".$password."','".$email."','".$activactionkey."','".$datumprijave."')";
$add_member = mysql_query($insert);
echo "Aktivacijski mail je poslat na $_POST[email]. Molimo proverite vas e mail i potvrdite aktivaciju.";
//Slanje aktivacionog maila
$to = $_POST['email'];
$subject = "Potvrdite vasu registraciju";
$message = "Dobrodosli na nas sajt!\r\rVi ili neko drugi koristi ovu email adresu da se registruje. Mozete se registrovati klikom na sljedeci link:\rhttp://www.YOURWEBSITE.com/add.php?$activactionkey\r\rAko ste ovaj mail dobili greskom ignorisite ga i bicete automatski izbrisani sa liste.\r\rRegards,\ YOURWEBSITE.com Team";
$headers = 'From: noreply@ YOURWEBSITE.com' . "\r\n" .
'Reply-To: noreply@ YOURWEBSITE.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject,$message,$headers);
}
else
{
##User isn't registering, check verify code and change activation code to null, status to activated on success
$queryString = $_SERVER['QUERY_STRING'];
$query = "SELECT * FROM studenti";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
if ($queryString == $row["activactionkey"])
{
echo "Congratulations!" . $row["ime"] . " is now the proud new owner of an YOURWEBSITE.com account.";
$sql="UPDATE studenti SET activactionkey = '', status='activated' WHERE (id = $row[id])";
if (!mysql_query($sql))
{
die('Error: ' . mysql_error());
}
}
}
}
?>
<h1>Nakon potvrde aktivacijskog maila mozete se logovati</h1>
<p></p>
<?php
}
else
{
?>
<form action="add.php" method="post">
<table border="0">
<tr><td>Ime:*</td><td>
<input type="text" name="ime" maxlength="35">
</td></tr>
<tr><td>Prezime:*</td><td>
<input type="text" name="prezime" maxlength="35">
</td></tr>
<tr><td>Broj indeksa:*</td><td>
<input type="text" name="brindeksa" maxlength="4">
</td></tr>
<tr><td>Sifra:*</td><td>
<input type="password" name="password" maxlength="12">
</td></tr>
<tr><td>eMail:</td><td>
<input type="text" name="email" maxlength="35">
<input type="hidden" name="form_submitted" value="1"/>
</td></tr>
<tr><th colspan=2><input type="submit" name="submit" value="Registracija"></th></tr>
<tr><th colspan=2><input type="reset" name="reset" value="Resetovanje"></tr></td></table>
</form>
<?php
}
?>
login.php
Kod:
<?php
session_start();
if (isset ($_POST['imestudenta'])&& isset ($_POST['password']))
{
//Ako je korisnik pokusao da se prijavi
$imestudenta=$_POST['imestudenta'];
$password=md5($_POST['password']);
$db_conn=mysql_connect("localhost", "root","");
mysql_select_db("prijavaispita",$db_conn);
$query="select * from studenti
where imestudenta='$imestudenta'
and password='$password'";
$rezultat=mysql_query($query,$db_conn);
if (mysql_num_rows($rezultat)>0)
{
//ako je korisnik pronadjen u bazi podataka
//registrujemo njegov indetifikator u sesiji
$_SESSION['valid_student']=$imestudenta;
}
}
?>
<html>
<body>
<h1>Prijava ispita</h1>
<?php
if (isset($_SESSION['valid_student']))
{
echo 'Vi ste prijavljeni kao: '.
$_SESSION['valid_student'].'<br />';
echo '<a href="logout.php">Log out</a><br />';
}
else
{
if (isset($password))
{
//ako se pokusaj prijavljivanja zavrsio neuspjehom
echo 'Niste se uspjesno logovali';
}
else
{
//Korisnik koji se jos nije prijavio ili se odjavio
echo 'Niste logovani';
}
//generisanje obrasca za prijavljivanje
echo '<form action = "login.php" method = "post">';
echo '<table>';
echo '<tr><td>Vase ime:</td>';
echo '<td><input type="text" name="imestudenta"></td></tr>';
echo '<tr><td>Password:</td>';
echo '<td><input type="password" name="password"></td></tr>';
echo '<tr><td colspan="2" align="center">';
echo '<input type="submit" value="Logujte se"></td></tr>';
echo '</table></form>';
}
?>
<br>
<a href="studenti.php">Studentska sekcija</a>
</body>
</html>
[/code]
Navigacija
[0] Indeks poruka
[#] Sledeća strana