Mam pytanie, jak zrobić, by w wysyłanym do mnie formularzu, były dane wpisywane przez wysyłającego, a także informacje pobrane z bazy.
Przykładowo na stronie jest link
no i jest OK. Otwiera mi podstronę zamow.php z danymi pobranymi z MySQL.
<?php include 'log.php'; //plik konfiguracyjny bazy /* odbieramy zmienne przekazane w linku jak w poradzie <a href="http://www.kess.com.pl/?sid=10&pid=43" target="_blank">http://www.kess.com.pl/?sid=10&pid=43</a> */ /* zapytanie do tabeli */ id='$id'") /* wy?wietlamy wyniki, sprawdzamy, czy zapytanie zwróciło warto?ć większ? od 0 */ /* odczytujemy zawarto?ć wiersza z tabeli */ /* wczytujemy dane do formularza */ echo 'Tu są dane książek np autor: '.$r['autor'].' tytul: '.$r['tytul'].' nmumer identyfikacyjny książki: '.$r['identyfikator'].''; } }?>
Moje pytanie brzmi, jak połączyć powyższy skrypt z tym
<?php //--- początek formularza --- ?> <table align=center> <form action="zamow.php" method="post"> <tr><td>Twoje imię:</td><td><input type="text" name="imie"/></td></tr> <tr><td>Twoje nazwisko:</td><td><input type="text" name="nazwisko"/></td></tr> <tr><td>Twój e-mail:</td><td><input type="text" name="mail"/></td></tr> <tr><td>Twój telefon (opcjonalnie):</td><td><input type="text" name="telefon"/></td></tr> <tr><td colspan=2 align=center> <input type="hidden" name="autor"/> <input type="hidden" name="tytul"/> <input type="hidden" name="identyfikator"/> <input type="submit" name="submit" value="Zamów"/></td> </tr> </form> </table> <?php } else { //twoje dane $email = 'marko_hietala@o2.pl'; //dane z formularza $imie = $_POST['imie']; $nazwisko = $_POST['nazwisko']; $mail = $_POST['mail']; $telefon = $_POST['telefon']; $autor = $_POST['autor']; $tytul = $_POST['tytul']; $identyfikator = $_POST['identyfikator']; //--- początek funkcji weryfikującej adres e-mail --- function checkMail($checkmail) { if(filter_var($checkmail, FILTER_VALIDATE_EMAIL)) { return true; }else{ return false; } } else { return false; } } //--- koniec funkcji --- if(checkMail($mail)) { //dodatkowe informacje: ip i host użytkownika $ip = $_SERVER['REMOTE_ADDR']; $host = gethostbyaddr($_SERVER['REMOTE_ADDR']); //tworzymy szkielet wiadomości //treść wiadomości $mailText = "$imie $nazwisko chce pozyczyc ksaizke: $autor - $tytul ($identyfikator)\nDane: $imie $nazwisko / $mail / $telefon"; //adres zwrotny $mailHeader = "From: $imie $nazwisko <$mail>"; //funkcja odpowiedzialna za wysłanie e-maila //komunikat o poprawnym wysłaniu wiadomości } else { } } else { //komunikat w przypadku nie powodzenia }}?>
Zależy mi głównie na tym, bym w e-mailu dostawał info:
"$imie $nazwisko chce pozyczyc ksiazke: $autor - $tytul ($identyfikator)\nDane: $imie $nazwisko / $mail / $telefon"
Poniżej podaję skrypt (nie działający), który napisałem próbując połączyć powyższe skrypty
<?php //--- początek formularza --- ?> <?php include 'log.php'; /* odbieramy zmienne przekazane w linku jak w poradzie <a href="http://www.kess.com.pl/?sid=10&pid=43" target="_blank">http://www.kess.com.pl/?sid=10&pid=43</a> */ /* zapytanie do tabeli */ id='$id'") /* wy?wietlamy wyniki, sprawdzamy, czy zapytanie zwróciło warto?ć większ? od 0 */ /* odczytujemy zawarto?ć wiersza z tabeli */ /* wczytujemy dane do formularza */ /* w formularz znajduj? się ukryte pola "a" z warto?ci? "save" i pole "id" z warto?ci? zmiennej id */ echo '<table align=center> <form action="zamow.php" method="post"> <tr><td>Twoje imię:</td><td><input type="text" name="imie"/></td></tr> <tr><td>Twoje nazwisko:</td><td><input type="text" name="nazwisko"/></td></tr> <tr><td>Twój e-mail:</td><td><input type="text" name="mail"/></td></tr> <tr><td>Twój telefon (opcjonalnie):</td><td><input type="text" name="telefon"/></td></tr> <tr><td colspan=2 align=center> <input type="hidden" name="autor" value='.$r['autor'].'/> <input type="hidden" name="tytul" value='.$r['tytul'].'/> <input type="hidden" name="identyfikator" value='.$r['identyfikator'].'/> <input type="submit" name="submit" value="Zamów"/></td> </tr> </form> </table>'; } }?> <?php } else { //twoje dane $email = 'marko_hietala@o2.pl'; //dane z formularza $imie = $_POST['imie']; $nazwisko = $_POST['nazwisko']; $mail = $_POST['mail']; $telefon = $_POST['telefon']; $autor = $_POST['autor']; $tytul = $_POST['tytul']; $identyfikator = $_POST['identyfikator']; //--- początek funkcji weryfikującej adres e-mail --- function checkMail($checkmail) { if(filter_var($checkmail, FILTER_VALIDATE_EMAIL)) { return true; }else{ return false; } } else { return false; } } //--- koniec funkcji --- if(checkMail($mail)) { //dodatkowe informacje: ip i host użytkownika $ip = $_SERVER['REMOTE_ADDR']; $host = gethostbyaddr($_SERVER['REMOTE_ADDR']); //tworzymy szkielet wiadomości //treść wiadomości $mailText = "$imie $nazwisko chce pozyczyc ksaizke: $autor - $tytul ($identyfikator)\nDane: $imie $nazwisko / $mail / $telefon"; //adres zwrotny $mailHeader = "From: $imie $nazwisko <$mail>"; //funkcja odpowiedzialna za wysłanie e-maila //komunikat o poprawnym wysłaniu wiadomości } else { } } else { //komunikat w przypadku nie powodzenia }}?>
Z góry dzięki za pomoc;)
Ok. Poradziłem sobie. Zrobiłem opcję zapisywania danych zamawiającego do nowej tabeli bazy danych:P Ale mam pytanie. Czy jest jakiś skrypt, który będzie mi wysyłał e-mail albo wyświetlał na stronie informację, że dodano nowy rekord do bazy?