Kezdőoldal » Számítástechnika » Weblapkészítés » Már megint én vagyok a bolond?

HTML,PHP,CSS kérdése:

Már megint én vagyok a bolond?

Figyelt kérdés

a regisztráláshoz az e-mailben kapott aktiváló linkre kell kattintani,de mindig azt kapom vissza,hogy sajnáljuk nem sikerült aktiválni fiókját.


reg_feldolgoz.php:


<?php

session_start();

$host = "mysql.hostinger.hu";

$user = "u166192821_sherl";

$password = "jelszóm";

$db = "u166192821_sherl";

$felhasznalo = $_POST['felhnev'];

$mail = $_POST['email'];

$pass1 = $_POST['jelszo1'];

$pass2 = $_POST['jelszo2'];


If($pass1 != $pass2){

header("Location:clubbunk.php?pass_hiba=1");


}

else{

If($pass1 == "" || $pass2 == "" || $mail == "" || $felhasznalo == ""){

header("Location:clubbunk.php?ures_hiba=1");


}

else{

If(strlen($felhasznalo)>20 || strlen($pass1)>20){

header("Location:clubbunk.php?hossz_hiba=1");


}

else{

$kapcsolat = mysql_connect("$host","$user","$password") or die ("HIBAA");

mysql_select_db ($db, $kapcsolat) or die ("Sikertelen kapcsolódás");

$sql = "INSERT INTO tags (felhnev, mail, pass, active) VALUES ('$felhasznalo', '$mail', '$pass1', 'Nem')";


$eredmeny = mysql_query($sql) or die ("Nem sikerült adataidat elmenteni");


function generateRandomString($length = 20) {

$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

$randomString = '';

for ($i = 0; $i < $length; $i++) {

$randomString .= $characters[rand(0, strlen($characters) - 1)];

}

return $randomString;

}

$g = generateRandomString();


$_SESSION['kod'] = $g;

$_SESSION['felh']= $felhasznalo;


if(mysql_affected_rows()>0)

{


echo "Sikeresen regisztráltál az oldalunkra! <br /> Az e-mail címedre küldük az aktiváló linket: $mail";


$uzenet = "Felhasználónév: $felhasznalo , a jelszavad pedig: $pass1, az aktiváló link pedig: [link]

mail ($mail, 'Regisztráció', $uzenet);


}

else

{

echo "Nem sikerült elküldeni az e-mailt!";

}

}


}


}


mysql_close($kapcsolat);

?>



aktivalo.php:



<?php

session_start();


$host = "mysql.hostinger.hu";

$user = "u166192821_sherl";

$password = "jelszóm";

$db = "u166192821_sherl";


$kod = $_SESSION['kod'];

$kod_link = $_GET['a'];


$felhnev = $_SESSION['felh'];


If($kod == $kod_link){

$kapcsolat = mysql_connect("$host","$user","$password") or die ("HIBAA");

mysql_select_db ($db, $kapcsolat) or die ("Sikertelen kapcsolódás");

$erre = 'igen';

$sql = "UPDATE tags SET active = $erre WHERE felhnev = $felhnev";

$eredmeny = mysql_query($sql) or die ("Nem sikerült adataidat elmenteni");

echo

'<html>

<head>

<title>sikeres</title>

</head>

<body style="background-color:black;">

<div style="background-color:white;color:black;font-size:30px;border-radius:5px;width:100%;"><h1>Fiókját sikeresen aktiváltuk :) .</h1></div>

</body>


</html>';


}

else{

echo

'<html>

<head>

<title>sikertelen</title>

</head>

<body style="background-color:black;">

<div style="background-color:red;color:white;font-size:30px;border-radius:5px;width:100%;"><h1>Sajnáljuk,de nem sikerült aktiválnunk fiókját :( .</h1></div>

</body>


</html>';


}


?>



2014. jún. 13. 14:16
 1/5 anonim ***** válasza:

Előrebocsátom, nem vagyok PHP guru, okosabbak javítsanak. :)


Ha az email-ből kattint valaki a linkre, az biztos, hogy ugyanaz a session lesz? Én ezt csekkolnám a helyedben elsőként. (Írasd ki a session id-ket mind2 helyen.)


Egyébként szerintem nem is logikus a session-t belevonni az aktiválásba. Mivan ha freemail-es a fickó és 3 nap múlva érkezik meg neki a levél? Akkor pláne nem lesz abban session-ben, mert nem fog 3 napig az oldalad előtt ücsörögni F5-öt nyomkodva.


Aktiváláskor sz.v.sz. semmi más nem kell, csak a linkben levő kód, és ez alapján keresse ki a db-ben az aktiválandó júzert.


Szerintem.

2014. jún. 13. 14:36
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:

Ne használj session -t.

Hozz létre egy mezőt adatbázisban ahova eltárolod az aktiváló kódot a felhasználóhoz.

Én a helyedben ilyen linket küldenék ki:


[link]


Ezután a aktiválóban a mysql -ből kérd le a felhasználóhoz tartozó aktiváló kódot és vesd össze a kapottal.


Ugródeszkának megteszi, de persze lehet majd még tovább fejleszteni...

2014. jún. 13. 14:42
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:
#2 -es vagyok... a Link hibásan ment ki. Szóval a link vége legyen ?felh=$felhasznalo&a=$g
2014. jún. 13. 14:43
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:

natúr jelszó megy db-be?

jelszó emailben?

2014. jún. 13. 16:55
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:

Köszönöm szépen és igazatok van ez lesz a megoldás :)


Köszi még 1x

2014. jún. 13. 19:37

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!