Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML]Formularz pocztowy, wynik "błąd" na tej samej stronie
runner
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 7.11.2004

Ostrzeżenie: (0%)
-----


Mam taki kod, który odpowiedzialny jest za wysyłanie emaili ze strony www.

  1. [php]
  2.  
  3. <form action="kontakt?mail=ok" method="POST" >
  4.    <table border="0">
  5.  
  6.      <tr>
  7.            <td >Imię:</td>
  8.            <td colspan="3"><input type="text" name="odkogo" value="<? echo $_POST['odkogo']; ?>"></td>
  9.      </tr>
  10.        <tr>
  11.            <td>Twój e-mail:</td>
  12.  
  13.            <td colspan="3"><input type="text" name="mail" value="<? echo $_POST['mail']; ?>"></td>
  14.        </tr>
  15.        <tr>
  16.            <td>Adresat:</td>
  17.            <td colspan="3"><SELECT input type="text" name="mailtoperson" onChange="<? echo $_POST['mailtoperson']; ?>">
  18.                            <OPTION VALUE="">Wybierz adresata listu
  19.                            <OPTION VALUE="email1@poczta.pl">email1
  20.                            <OPTION VALUE="email2@poczta.pl">email2
  21.                            <OPTION VALUE="email1@poczta.pl,email2@poczta.pl">Wyślij do wszystkich
  22.                            </SELECT></td>
  23.        <tr>
  24.            <td>Temat:</td>
  25.            <td colspan="3"><input type="text" name="temat" value="<? echo $_POST['temat']; ?>"></td>
  26.        </tr>
  27.        <tr>
  28.            <td valign="top">Treść:</td>
  29.          <td colspan="3"><textarea name="tresc" rows="8" input type="text" textarea="textarea"><? echo $_POST['tresc']; ?></textarea>
  30.          </td>
  31.        </tr>          
  32.         <tr>
  33.              <td valign="top" rowspan="3">Przepisz kod z obrazka:</td>          
  34.         <tr>
  35.              <td> <?
  36.                            $slowa=file('hasla.txt');
  37.                            $id=rand(0,count($slowa)-1);
  38.                            echo '<img src="pic.php?id='.$id.'"><td><input type="text" name="token"></td>';?></td>
  39.            <td>
  40.              <input type="hidden" name="los" value="<? echo $id; ?>"/>
  41.            </td>
  42.         </tr>
  43.            <tr><td colspan="2"><input type="submit" value="Wyślij"></td>
  44.    </table>    
  45.  
  46. </form>
  47.  
  48. <div class="blad">
  49. <? switch($_GET['mail'])
  50. {
  51. case 'ok';
  52.  
  53. $id=$_POST['los'];
  54. $odp=$_POST['token'];
  55. $slowa=file('hasla.txt');
  56.  
  57.  
  58. if(isset($_POST['odkogo']) && $_POST['odkogo']=='') $blad.='- Nie podałeś imienia!<br />';
  59. if(isset($_POST['mail']) && $_POST['mail']=='') $blad.='- Nie podałeś swojego e-maila!<br />';
  60. if(isset($_POST['mail']) && $_POST['mail']!='' && !ereg("^.+@.+..+$", $_POST['mail'])) $blad.='- Podałeś niepoprawny adres e-mail!<br />';
  61. if(isset($_POST['mailtoperson']) && $_POST['mailtoperson']=='') $blad.='- Nie wybrałeś adresata!<br />';
  62. if(isset($_POST['temat']) && $_POST['temat']=='') $blad.='- Nie podałeś tematu e-maila!<br />';
  63. if(isset($_POST['tresc']) && $_POST['tresc']=='') $blad.='- Nie podałeś treści e-maila!<br />';
  64. if(trim($slowa[$id])!=$odp && isset($_POST['tresc'])) $blad.='- Źle przepisany kod!<br />';
  65.  
  66.  if(!isset($blad))
  67.    {
  68.    if(mail($_POST['mailtoperson'],$_POST['temat'],$_POST['tresc'],'From: '.$_POST['odkogo'].' <'.$_POST['mail'].'>'));
  69.  
  70.  
  71.  
  72.    ?>
  73. </div>
  74. <div>
  75. E-mail został wysłany! Dziękujemy
  76. </div>
  77. <div>
  78. <?
  79.    break;
  80.    }
  81.    if(isset($blad))
  82.        {
  83.        echo '<b>Napotkano następujące błędy:</b><br /><br />';
  84.        echo $blad.'<br />';
  85.        }
  86. default:    
  87. }
  88.  
  89. ?>
  90. </div>
  91. </div>
  92.  
  93. </body>[/php]




Taraz mam pytania dotyczące tego kodu. Co powinienem wpisać aby wynik z błędami (jak widać w kodzie) wyświetlał się poniżej tego formularza na tej samej stronie co formularz. Niby to teraz działa bo plik z tym formularzem kontakt.php jest wywoływany w linii <form action="kontakt?mail=ok" method="POST" > ale jeżeli stronę z tym formularzem wykorzystuję w serwisie gdzie strona index.php zawiera kod:

  1. <?php
  2. $add_site = true;
  3. ?>
  4.  
  5. <body>
  6.  
  7. <div id="wrapper">
  8.  
  9. <div class="top"><?php include "naglowek.php"; ?></div>
  10. <div class="left"><?php include "menu_lewe.php"; ?></div>
  11. <div class="main"><?php
  12.        
  13.          $go = $_GET['go'];
  14.          if(!empty($go))
  15.            {
  16.           if(is_file("$go.php")) include "$go.php";
  17.           else echo "<br />Nie ma takiej strony";
  18.              }
  19.           else include "kontakt.php";?></div>
  20. <div class="bottom"><?php include "stopka.php"; ?></div>
  21. </div>
  22. </body>




to wynik z błędami że coś tam źle zostało wpisane w formularzu albo że email został wysłany wyświetlany jest na nowej stronie i nie wygląda to dobrze.

Czy ktoś mi pomoże?

Ten post edytował runner 14.12.2008, 20:06:50
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.09.2025 - 15:56