php "izbor jezika" i potvrda korisnika putem e-mail aktivacije scripta

(1/4) > >>

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