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]
Aktywacja zarejestrowanego konta
Re: Aktywacja zarejestrowanego konta
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
[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
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:
jeśli wprowadzę dobry login i zły kod aktywacyjny to za każdym razem wyświetla:
ale konta nie zaktywowuję ale jak wprowadze dobre dane to jest wszystko okDziękujemy, twoje konto zostało aktywowane.
Re: Aktywacja zarejestrowanego konta
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
[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