Strona 1 z 1

Aktywacja zarejestrowanego konta

: sob lut 02, 2008 5:16 pm
autor: morphi99
Mógłby mi ktoś powiedzieć gdzie tu mam błąd bo już nie wiem
[php]
<?php
if (isset($_POST['submit'])) {

$login = $_POST['login'];
$active_key = $_POST['active_key'];

$sql = ("SELECT * FROM `user` WHERE login = '$login' AND active_key = '$active_key'");
$result = mysql_query($sql) or die("Nie wykonano zapytania.");
$num = mysql_num_rows($result);
if ($num < 1) {
echo ("Niema konta o takim loginie");
}
$sql2 = "UPDATE `user` SET active='1' WHERE login = '$login' AND active_key = '$active_key'";
$result2 = mysql_query($sql2);

if( !$result ) {
echo ("Twoje konto niezostało aktywowane.");
} elseif ( $result ){
echo ("Dziękujemy, twoje konto zostało aktywowane");
}

}else {
echo ("
<form action='active.php' method='post'>
<table border='0' cellspacing='3' cellpadding='0'>
<tr><td>Login:</td><td><input type='text' name='login' size='40' /></td></tr>
<tr><td>Kod aktywacyjny:</td><td><input type='text' name='active_key' size='40' /></td></tr>
<tr><td colspan='2'><input name='submit' type='submit' value='Aktywuj' /></td></tr>
</table>
</form>
");
}
?>
[/php]

Re: Aktywacja zarejestrowanego konta

: ndz lut 03, 2008 12:55 am
autor: dawpi
Wydaje mi się, że tak powinno być dobrze:

[php]<?php
if (isset($_POST['submit'])) {

$login = $_POST['login'];
$active_key = $_POST['active_key'];

$sql = ("SELECT * FROM `user` WHERE login = '$login' AND active_key =
'$active_key'");
$result = mysql_query($sql) or die("Nie wykonano zapytania.");
$num = mysql_num_rows($result);
if ($num < 1) {
echo ("Niema konta o takim loginie");
}
$sql2 = "UPDATE `user` SET active='1' WHERE login = '$login' AND active_key
= '$active_key'";
$result2 = mysql_query($sql2);

if( !$result2 ) {
echo ("Twoje konto niezostało aktywowane.");
} elseif ( $result2 ){
echo ("Dziękujemy, twoje konto zostało aktywowane");
}

}else {
echo ("
<form action='active.php' method='post'>
<table border='0' cellspacing='3' cellpadding='0'>
<tr><td>Login:</td><td><input type='text' name='login' size='40' /></td></tr>
<tr><td>Kod aktywacyjny:</td><td><input type='text' name='active_key' size='40'
/></td></tr>
<tr><td colspan='2'><input name='submit' type='submit' value='Aktywuj' /></td></tr>
</table>
</form>
");
}
?> [/php]

DawPi

Re: Aktywacja zarejestrowanego konta

: ndz lut 03, 2008 7:54 am
autor: morphi99
odnalazłem błąd poprawiłem kod i już działa ale jest jeszcze jeden problem że
jeśli wprowadzę dobry login i zły kod aktywacyjny to za każdym razem wyświetla:
Dziękujemy, twoje konto zostało aktywowane.
ale konta nie zaktywowuję ale jak wprowadze dobre dane to jest wszystko ok

Re: Aktywacja zarejestrowanego konta

: ndz lut 03, 2008 3:23 pm
autor: dawpi
Spróbuj ten warunek zaczynający się od 18 linii zamienić na taki:

[php]
if( $result2 ) {
echo ("Dziękujemy, twoje konto zostało aktywowane.");
}
else {
echo ("Twoje konto nie zostało aktywowane.");
}
[/php]

;-)

Zwróć uwagę, że mysql_query() zwraca dla zapytania UPDATE wartość TRUE jeśli zapytanie zakończyło się sukcesem, w przeciwnym razie zwraca FALSE.

Sprawdzamy warunek i informujemy usera.

Powodzenia :)