Witam mam taki oto problem:
To jest kod pliku register.php
<?php
include 'config.php';
if (isset($_POST['send'])) {
// Zabezpiecz dane z formularza przed kodem HTML
// Sprawdź czy podany email istnieje już w bazie
$existEmail = $pdo->prepare("SELECT COUNT(*) FROM users WHERE email = :email LIMIT 1");
$existEmail->execute(array(':email' => $email));
$error = ''; // Zmienna przechowywująca wszystkie błędy
// Sprawdzanie czy nie wystąpiły błędy
if (!$email || !$email_re || !$pass || !$pass_re ) $error .= 'Musisz wypełnić wszystkie pola formularza <br>';
if ($existEmail[0] >= 1) $error .= '-Ten email jest już używany <br>';
if ($email != $email_re) $error .= '- E-maile się nie zgadzają<br>';
if ($pass != $pass_re) $error .= '- Hasła się nie zgadzają<br>';
// Jeżeli jakieś błędy wystąpiły to je wyświetl:
if ($error != '') {
echo '<p class="error">Rejestracja nie powiodła się, popraw następujące błędy:<br>'.$errors.'</p>'; }
// Jeżeli wszystko jest OK to kontynuuj rejestrację
else {
// Losuj kod aktywujący, koduj hasło
$pass = sha1($pass);
// Zapisz dane do bazy
$pdo -> prepare("INSERT INTO users (email, pass, adresip, data, kod) VALUES (:email, :pass, '{$_SERVER['REMOTE_ADDR']}', NOW(), '$kod' );");
$pdo->execute(array(':email' => $email)); $pdo->execute(array(':pass' => $pass));
$list = "Witaj '.$email.'! Kliknij w poniższy link, aby aktywować swoje konto. '.$moja_strona.'weryfikacja.php?weryfikacja=potwierdz&kod='.$kod.'";
mail ($email, "Rejestracja użytkownika", $list, "From: <kontakt@twoja-strona.pl>"); echo '<p class="success">'.$email.', zostałeś zarejestrowany. Na adres email został wysłany mail z linkiem aktywującym. Jeżeli w ciągu 5 min go nie dostaniesz proszę sprawdzić też w spamie.</p>'; }
} else {
?>
<form method="post" action="">
<label for="email">Email:</label>
<input type="text" name="email" maxlength="50" id="email" />
<label for="email_again">Email (ponownie):</label>
<input type="text" maxlength="255" name="email_re" id="email_again" /><br />
<label for="pass">Hasło:</label>
<input maxlength="32" type="password" name="pass" id="pass" />
<label for="pass_again">Hasło (ponownie):</label>
<input maxlength="32" type="password" name="pass_re" id="pass_again" />
<br />
Akceptuje regulamin: <input type="checkbox" name="reg" id="reg" onClick="if(this.checked==true){ submit.disabled=false;}else{ submit.disabled=true;}" />
<br />
<input type="hidden" name="send" value="1" />
<input type="submit" id="submit" value="Zarejestruj" disabled="true"/>
</form>
<?php
}
?>
Podczas próby zarejestrowania wyskakuje mi taki błąd:
Fatal error
: Cannot use object of type PDOStatement
as array in
/home
/u817225384
/public_html
/demo
/skrypty
/register
.php on line
22
PDO dopiero się ucze tak więc prosił bym o pomoc. Z góry dziękuje
Ten post edytował GandiFly 30.06.2013, 16:20:24