Standardowo na początku napiszę, że jestem początkującym w dziedzinie PHP i MySQL.
Mam następujący problem. Zakupiłem książkę pt. PHP5 i MySQL Biblia. Jeden z rozdziałów tzn. 44 to "Uwierzytelnianie użytkowników". Wszystko jest fajnie do chwili rejestracji nowego użytkownika. Nie wiem, co zmienić w skrypcie, aby email został wysłany. Poniżej przedstawiam kod źródłowy pliku register_funcs.inc (pozbawiony komentarzy)
Wielkie dzięki za pomoc

<?php include_once('db_vars.inc'); $supersecret_hash_padding = 'Napis używany do przedłużania krótkich napisów do szyfrowania md5.'; function user_register() { <= 25 && ($_POST['password1'] == <= 50 && validate_email($_POST['email'])) { if (account_namevalid($_POST['user_name']) || $email= $_POST['email']; $query = "SELECT user_id FROM user WHERE user_name = '$user_name' OR email = '$email'"; $feedback = 'BŁĄD - Powtórzona nazwa użytkownika lub adres poczty elektronicznej'; return $feedback; } else { $first_name = $_POST['first_name']; $last_name = $_POST['last_name']; $user_ip = $_SERVER['REMOTE_ADDR']; $query = "INSERT INTO user (user_id, user_name, first_name, last_name, password, email, remote_addr, confirm_hash, is_confirmed, date_created) VALUES (NULL, '$user_name', '$first_name', '$last_name', '$password', '$email', '$user_ip', '$hash', 0, NOW())"; if (!$result) { $feedback = 'BŁĄD - Błąd bazy danych'; return $feedback; } else { $mail_body = <<< EOMAILBODY Dziękujemy za rejestrację na Example.com. Kliknij poniższy odnośnik w celu potwierdzenia rejestracji: [url="http://localhost"]http://localhost[/url] /confirm.php?hash =$hash&email =$encoded_email Po otrzymaniu informacji o potwierdzeniu, będziesz już zalogowany na Exapmle.com EOMAILBODY; na Example.com', $mail_body, 'From: [email="noreply@example.com"]noreply@example.com'[/email]); $feedback = 'REJESTRACJA SIĘ UDAŁA. Wkrótce otrzymasz pocztę elektroniczną z prośbą o potwierdzenie'; return $feedback; } } } else { $feedback = 'BŁĄD - Niewłaściwa nazwa użytkownika lub hasło'; return $feedback; } } else { $feedback = 'BŁĄD - Proszę poprawnie wypełnić wszystkie pola'; return $feedback; } } function account_namevalid() { "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-") == 0) { return false; } "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_") return false; } return false; } return false; } (sync)|(shutdown)|(halt)|(mail)|(news)|(uucp)| (operator)|(games)|(mysql)|(httpd)|(nobody)| (dummy)|(www)|(cvs)|(shell)|(ftp)|(irc)|(debian)| (ns)|(download))$", $_POST['user_name'])) { return false; } return false; } return true; } function validate_email($email) { '. [email=""]'@'[/email]. '[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+.' . ' [-!#$%&'*+./0-9=?A-Z^_`a-z{|}~]+$', $email)); } function user_confirm() { if ($new_hash && ($new_hash == $_GET['hash'])) { $query = "SELECT user_name FROM user WHERE confirm_hash = '$new_hash'"; $feedback = 'BŁĄD - nie znaleziono skrótu'; return $feedback; } else { $email = $_GET['email']; $hash = $_GET['hash']; $query = "UPDATE user SET email='$email', is_confirmed=1 WHERE confirm_hash='$hash'"; return 1; } } else { $feedback = 'BŁĄD - Wartości się nie zgadzają'; return $feedback; } } ?>