Hah poprawiłem wszystko. A to dalej nie działa..
<?php
include 'config.php';
if (isset($_POST['send'])) {
// Zabezpiecz dane z formularza przed kodem HTML
try
{
// Sprawdź czy podany email istnieje już w bazie
$zapytanie = "SELECT COUNT(*) FROM users WHERE email = :email LIMIT 1";
$existEmail = $pdo->prepare($zapytanie, array(PDO
::ATTR_CURSOR => PDO
::CURSOR_FWDONLY)); $existEmail->bindValue(':email', $email, PDO::PARAM_STR);
$existEmail -> execute();
$count = $existEmail -> rowCount();
$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 ($count[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>'.$error.'</p>'; }
// Jeżeli wszystko jest OK to kontynuuj rejestrację
else {
// Losuj kod aktywujący, koduj hasło
$pass = sha1($pass);
// Zapisz dane do bazy
$zapytanie = $pdo->prepare("INSERT INTO users (email, pass, adresip, data, kod) VALUES (:email, :pass, '{$_SERVER['REMOTE_ADDR']}', NOW(), '$kod' )");
$zapytanie->bindValue(':email', $email, PDO::PARAM_STR);
$zapytanie->bindValue(':pass', $pass, PDO::PARAM_STR);
$zapytanie->execute();
$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>'; }
}
catch(PDOException $e)
{
}
} 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
}
?>
To jest plik config.php
<?php
$db_server = ''; // Serwer bazy danych
$db_user = ''; // Nazwa użytkownika
$db_pass = ''; // Hasło
$db_name = ''; // Nazwa bazy danych
// POŁĄCZ Z BAZĄ DANYCH
try {
$pdo = new PDO('mysql:host='.$db_server.';dbname='.$db_name.'', $db_user, $db_pass);
echo 'Połączenie nawiązane!'; } catch(PDOException $e){
echo 'Błąd:'.$e->getMessage(); }
?>
Ten post edytował GandiFly 30.06.2013, 22:14:53