![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 17.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie.
Otóż mam taki problem.Chciałem zrobić własne forum i podczas rejestracji kiedy serwer wysyła mail do użytkownika a on w niego kilka pojawia się na stronie następujący błąd Cytat Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/sites/yoyo.pl/d/i/diablico/weryfikowanie.php on line 10 Weryfikacja konta nie była możliwa.{W5_/{rtZ6m9l}.{ Kod odpowiedzialny za rejestrowanie: Kod <?php session_start(); require("konfiguracja.php"); $db = mysql_connect($dbhost, $dbuser, $dbpassword); mysql_select_db($dbdatabase, $db); if($_POST['submit']) { if($_POST['password1'] == $_POST['password2']) { $checksql = "SELECT * FROM uzytkownicy WHERE nazwa_uzytkownika = '" . $_POST['nazwa_uzytkownika'] . "';"; $checkresult = mysql_query($checksql); $checknumrows = mysql_num_rows($checkresult); if($checknumrows == 1) { header("Location: " . $config_basedir . "rejestrowanie.php?error=taken"); } else { for($i = 0; $i < 16; $i++) { $randomstring .= chr(mt_rand(32,126)); } $verifyurl = "http:www.diablico.yoyo.pl/weryfikowanie.php"; $verifystring = urlencode($randomstring); $verifyemail = urlencode($_POST['email']); $validusername = $_POST['nazwa_uzytkownika']; $sql = "INSERT INTO uzytkownicy(nazwa_uzytkownika, haslo, email, lancuch_weryfikacji, aktywne) VALUES('" . $_POST['nazwa_uzytkownika'] . "', '" . $_POST['password1'] . "', '" . $_POST['email'] . "', '" . addslashes($randomstring) . "', 0);"; echo $sql; mysql_query($sql); $mail_body=<<<_MAIL_ Witaj $validusername, W celu weryfikacji nowego konta należy kliknąć poniższy odnośnik: $verifyurl?email=$verifyemail&verify=$verifystring _MAIL_; mail($_POST['email'], $config_forumsname . " Weryfikacja konta użytkownika", $mail_body); require("naglowek.php"); echo "Odnośnik wysłano pod podany adres e-mail. W celu weryfikacji konta należy kliknąć odnośnik zawarty w wiadomości pocztowej."; } } else { header("Location: " . $config_basedir . "rejestrowanie.php?error=pass"); } } else { require("naglowek.php"); switch($_GET['error']) { case "pass": echo "Brak zgodności haseł!"; break; case "taken": echo "Takie konto już istnieje. Proszę podać inne."; break; case "no": echo "Niepoprawne dane logowania!"; break; } ?> <h2>Rejestrowanie</h2> W celu zarejestrowania się na forum <?php echo $config_forumsname; ?> należy wypełnić poniższy formularz. <form action="<?php echo $SCRIPT_NAME ?>" method="POST"> <table> <tr> <td>Nazwa użytkownika</td> <td><input type="text" name="nazwa_uzytkownika"></td> </tr> <tr> <td>Hasło</td> <td><input type="password" name="password1"></td> </tr> <tr> <td>Hasło (ponownie)</td> <td><input type="password" name="password2"></td> </tr> <tr> <td>E-mail</td> <td><input type="text" name="email"></td> </tr> <tr> <td></td> <td><input type="submit" name="submit" value="Zarejestruj się!"></td> </tr> </table> </form> <?php } require("stopka.php"); ?> Kod odpowiedzialny za weryfikowanie: Kod <?php require("naglowek.php"); $verifystring = urldecode($_GET['verify']); $verifyemail = urldecode($_GET['email']); $sql = "SELECT id FROM uzytkownicy WHERE lancuch_weryfikacji = '" . $verifystring . "' AND email = '" . $verifyemail . "';"; $result = mysql_query($sql); $numrows = mysql_num_rows($result); if($numrows == 1) { $row = mysql_fetch_assoc($result); $sql = "UPDATE uzytkownicy SET aktywne = 1 WHERE id = " . $row['id']; $result = mysql_query($sql); echo "Konto zostało sprawdzone. Można się <a href='logowanie.php'>zalogować</a>"; } else { echo "Weryfikacja konta nie była możliwa."; } echo $verifystring; require("stopka.php"); ?> Za odpowiedzi z góry dziękuje. (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 319 Pomógł: 118 Dołączył: 26.11.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
uzywaj bbcode lepiej, zeby kolorowalo skladnie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
w weryfikacji popraw:
na
to zobaczysz blad |
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
$verifystring = urldecode($_GET['verify']);
$verifyemail = urldecode($_GET['email']); chyba gety są złe, daj echo $sql. i zobacz czy są puste , może zwykła literówka . A z innej beczki to filtruj dane (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) mysql_real_escape_string" title="Zobacz w manualu PHP" target="_manual |
|
|
![]()
Post
#4
|
|
Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 17:50 |