![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 11.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Dopiero zaczynam robić skrypty w php. Ten poniższy chcę przystosować do moich potrzeb. Chciałbym aby na stronie był formularz. Ja wpisuję do niego imie, nazwisko, adres email i klikam wyślij. Na razie to proste, ale dodatkowo... Po kliknięciu - - na podany email jest wysyłany kod z bazy który ma status true, automatycznie zmienia się status tego kodu na false. - w bazie zapisuje się wysłany kod, imie, nazwisko, adres email, data - przy ponownym wypełnieniu formularza wysyłany jest następny kod który ma status true. Bardzo proszę o pomoc lub pomocny link, cokolwiek co pomoże. Poniżej wklejam kod który mam na ten moment, mam nadzieję że nie jest za duży. Dzięki za każdą pomoc. Kod <?php
// Pobieramy adres IP komentującego $IP = $_SERVER['REMOTE_ADDR']; // Pobieramy pełny adres strony na której wysyłany jest komentarz $lokalizacja = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $adres = $_SERVER['REQUEST_URI']; DEFINE ('DB_USER', '***'); DEFINE ('DB_PASSWORD', '***'); // Jeżeli masz jakieś hasło to wpisz DEFINE ('DB_HOST', '192.168.1.102'); DEFINE ('DB_NAME', '***'); // Podaj nazwę bazy danych // Nawiązuje połączenie i wybiera bazę danych. $dbc = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) OR die ('Nie mogłem połączyć się z MySQL-em: ' . mysql_error() ); @mysql_select_db(DB_NAME) OR die ('<b>Nie udało mi się wybrać bazy danych:</b> ' . mysql_error() ); ini_set( 'display_errors', 'On' ); error_reporting( E_ALL ); // Jeżeli został wciśnięty przycisk "wyślij" if (isset ($_POST['wys_kom'])) { // Jeżeli nick jest pusty if (empty($_POST['nick'])) { $komunikat .= '<p>Podaj swój nick (imię).</p>'; } else { $nick = ($_POST['nick']); } // Jeżeli komentarz jest pusty if (empty($_POST['email']) ) { $komunikat .= '<p>Napisz komentarz.</p>'; } else { $koment = stripslashes($_POST['email']); } // Zabezpieczenie przed robotami if (!empty($_POST['e_mail'])) { $komunikat .= '<p>Według skryptu jesteś robotem. Twój komentarz został odzrzucony. Jeżeli nie jesteś tym za kogo wziął Cię nasz skrypt, skontaktuj się z administratorem strony.</p>'; } //Jeżeli nie ma żadnego błędu if (!isset($komunikat)) { //treść wiadomości $mailText = $_POST['nick']; mail('test@test.com', 'Formularz kontaktowy', $mailText) or die('Błąd: wiadomość nie została wysłana'); $zapytanie = "INSERT INTO komentarze (url, nick, data, ip, email) VALUES ('$adres', '$nick', NOW(), '$IP', '$koment')"; mysql_query("set names utf8;"); if ($rezultat = mysql_query ($zapytanie)) { mysql_close(); header ("Location: http://" . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']); exit(); } else { $komunikat = '<p>Przepraszamy za chwilowe usterki. Wysłanie komentarza nie było możliwe. Spróbuj później.</p>'; } } } echo' <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> </head> <body> // Wyświetla wszystkie komentarze do tego artykułu echo'<h2>Wasze komentarze:</h2>'; $zapytanie2 = "SELECT * FROM komentarze ORDER BY id"; mysql_query("set names utf8;"); $rezultat2 = mysql_query ($zapytanie2); while ($dane = mysql_fetch_array ($rezultat2, MYSQL_ASSOC)) { echo' <div class="koment"> <table boder="1" > <tr> <td>',$dane['nick'],'</td> <td>',$dane['data'],'</td> <td>',nl2br($dane['email']),'</td> </tr> </table> </div>'; } // Jeżeli są jakieś komunikaty - wyświetl je if (isset($komunikat)) { echo '<div class="komunikat">'.$komunikat.'</div>'; } // TEST $zapytanie3 = "SELECT `nick` FROM komentarze ORDER BY id LIMIT 1"; mysql_query("set names utf8;"); $rezultat3 = mysql_query ($zapytanie3); echo '<table border="1" >'; while ($wiersz = mysql_fetch_row($rezultat3)) { echo '<tr><td>'. $wiersz[0] .'</td></tr>'; } echo '<table>'; $zapytanie4 = "UPDATE `komentarze` SET `nick`='pobrane' WHERE `nick`='".$wiersz[0]."'"; $rezultat3 = mysql_query ($zapytanie4); echo $rezultat3; // END NEW // Formularz wysyłania komentarza echo' <div class="formularz"> <h2>Napisz komentarz:</h2> <form action="'.$lokalizacja.'" method="post"> <p><b>Twój Nick</b>: <br /><input type="text" name="nick" size="35" maxlength="35" /></p> <p class="email_h"><b>Twój e-mail</b>: <br /><input type="text" name="e_mail" size="50" maxlength="50" /></p> <p><b>Adres email</b>:<br /><textarea name="email" cols="77" rows="10" ></textarea></p> <input type="submit" name="wys_kom" value="Wyślij" class="przycisk"/> </form> </div> </body> </html>'; ?> |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
I gdzie masz problem? Bo nawet nie zacząłeś nic w tym kierunku robić (przynajmniej nie ma tego w powyższym kodzie). Pobierasz kod z bazy (SELECT id, kod FROM kody WHERE status = 'true'), następnie dołączasz do treści maila i tym razem robisz UPDATE dla tabeli kodów i dla userów.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 14:00 |