Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Tabela w formularzu
Forum PHP.pl > Forum > Przedszkole
SandraLaura
Witam

Jestem laikiem i mam problem ze stworzeniem formularza, z którego dane które przychodzą na maila będą przedstawiane w tabeli jak na zdjęciu.

Mam taki kod i proszę o pomoc co i gdzie zmienić aby prezentowało się to w tabelce, bo narazie jest ciąg tekstu ;(

  1. <?php
  2.  
  3. $name = $_POST['name'];
  4. $pesel = $_POST['pesel'];
  5. $lekarz = $_POST['lekarz'];
  6. $email = $_POST['email'];
  7. $n1 = $_POST['n1'];
  8. $d1 = $_POST['d1'];
  9. $i1 = $_POST['i1'];
  10. $o1 = $_POST['o1'];
  11. $n2 = $_POST['n2'];
  12. $d2 = $_POST['d2'];
  13. $i2 = $_POST['i2'];
  14. $o2 = $_POST['o2'];
  15. $n3 = $_POST['n3'];
  16. $d3 = $_POST['d3'];
  17. $i3 = $_POST['i3'];
  18. $o3 = $_POST['o3'];
  19. $n4 = $_POST['n4'];
  20. $d4 = $_POST['d4'];
  21. $i4 = $_POST['i4'];
  22. $o4 = $_POST['o4'];
  23. $n5 = $_POST['n5'];
  24. $d5 = $_POST['d5'];
  25. $i5 = $_POST['i5'];
  26. $o5 = $_POST['o5'];
  27. $n6 = $_POST['n6'];
  28. $d6 = $_POST['d6'];
  29. $i6 = $_POST['i6'];
  30. $o6 = $_POST['o6'];
  31.  
  32. $info = $_POST['info'];
  33.  
  34. $odkogo = "mail@mail.pl";
  35.  
  36. $dokogo = "mail@mail.pl";
  37.  
  38. $tytul = "Formularz zgłoszenia- Recepty";
  39.  
  40. $wiadomosc = "";
  41. $wiadomosc .= "Imie i nazwisko: " . $name . "\n";
  42. $wiadomosc .= "PESEL: " . $pesel . "\n";
  43. $wiadomosc .= "Nazwisko lekarza: " . $lekarz . "\n";
  44. $wiadomosc .= "Email: " . $email . "\n";
  45.  
  46. $wiadomosc .= "Lek poz.1: " . $n1 . "\n";
  47. $wiadomosc .= "Dawka poz.1: " . $d1 . "\n";
  48. $wiadomosc .= "Ilość opakowań poz.1: " . $i1 . "\n";
  49. $wiadomosc .= "Termin realizacji poz.1: " . $o1 . "\n";
  50.  
  51. $wiadomosc .= "Lek poz.2: " . $n2 . "\n";
  52. $wiadomosc .= "Dawka poz.2: " . $d2 . "\n";
  53. $wiadomosc .= "Ilość opakowań poz.2: " . $i2 . "\n";
  54. $wiadomosc .= "Termin realizacji poz.2: " . $o2 . "\n";
  55.  
  56. $wiadomosc .= "Lek poz.3: " . $n3 . "\n";
  57. $wiadomosc .= "Dawka poz.3: " . $d3 . "\n";
  58. $wiadomosc .= "Ilość opakowań poz.3: " . $i3 . "\n";
  59. $wiadomosc .= "Termin realizacji poz.3: " . $o3 . "\n";
  60.  
  61. $wiadomosc .= "Lek poz.4: " . $n4 . "\n";
  62. $wiadomosc .= "Dawka poz.4: " . $d4 . "\n";
  63. $wiadomosc .= "Ilość opakowań poz.4: " . $i4 . "\n";
  64. $wiadomosc .= "Termin realizacji poz.4: " . $o4 . "\n";
  65.  
  66. $wiadomosc .= "Lek poz.5: " . $n5 . "\n";
  67. $wiadomosc .= "Dawka poz.5: " . $d5 . "\n";
  68. $wiadomosc .= "Ilość opakowań poz.5: " . $i5 . "\n";
  69. $wiadomosc .= "Termin realizacji poz.5: " . $o5 . "\n";
  70.  
  71. $wiadomosc .= "Lek poz.6: " . $n6 . "\n";
  72. $wiadomosc .= "Dawka poz.6: " . $d6 . "\n";
  73. $wiadomosc .= "Ilość opakowań poz.6: " . $i6 . "\n";
  74. $wiadomosc .= "Termin realizacji poz.6: " . $o6 . "\n";
  75.  
  76. $wiadomosc .= "Informacje dodatkowe: " . $info . "\n";
  77.  
  78. $sukces = mail($dokogo, $tytul, $wiadomosc, "Od: <$odkogo>");
  79.  
  80.  
  81. if ($sukces){
  82. print "<meta http-equiv=\"refresh\" content=\"0;URL=potwierdzenie.php\">";
  83. }
  84. else{
  85. print "<meta http-equiv=\"refresh\" content=\"0;URL=error.html\">";
  86. }
  87. ?>
nospor
Do tworzenia tabelek uzywa sie TABLE w html. Milej lektury
SandraLaura
W html wiem jak zrobic, chodzi o tabele z formularza przesłaną na maila.
nospor
Skoro chcesz miec taka ladne tabele w mailu to musisz maila wyslac jako html a jego trescia bedzie twoja tabela HTML ktora rzekomo wiesz jak zrobic

Zeby maila wyslac jako html musisz ustawic odpowiednie naglowki
Tu
http://php.net/manual/en/function.mail.php
masz podane przyklady
SandraLaura
A jak wstawić zmiennną dla każdego pola? Bo jak mam tak to wyskauje mi błąd.

Kod
$message = '
<html>
<head>
</head>
<body>
  <table>
    <tr>
      <th>Nazwa leku</th><th>Dawka leku</th><th>Ilość opakowań</th><th>Opcja</th>
    </tr>
    <tr>
      <td>"$n1"</td><td>"$d1"</td><td>"$i1"</td><td>"$o1"</td>
    </tr>
  </table>
</body>
</html>
';
nospor
Jak wyskakuje blad, to nalezy ten blad pokazac...

$zm = 'blabla' .$jakaszmiena . 'blabla';
lub
$zm = "blabla $jakaszmienna blabla";

Zwroc uwage ne uzyte apostrofy
SandraLaura
Parse error: syntax error, unexpected '$n1' (T_VARIABLE) in /home/strona/ftp/test/kontakt.php on line 55

Po kliknięciu wyślij wyskakuje ten błąd.

Teraz taki mam kod

Kod
<?php

$name = $_POST['name'];
$pesel = $_POST['pesel'];
$lekarz = $_POST['lekarz'];
$email = $_POST['email'];
$n1 = $_POST['n1'];
$d1 = $_POST['d1'];
$i1 = $_POST['i1'];
$o1 = $_POST['o1'];
$n2 = $_POST['n2'];
$d2 = $_POST['d2'];
$i2 = $_POST['i2'];
$o2 = $_POST['o2'];
$n3 = $_POST['n3'];
$d3 = $_POST['d3'];
$i3 = $_POST['i3'];
$o3 = $_POST['o3'];
$n4 = $_POST['n4'];
$d4 = $_POST['d4'];
$i4 = $_POST['i4'];
$o4 = $_POST['o4'];
$n5 = $_POST['n5'];
$d5 = $_POST['d5'];
$i5 = $_POST['i5'];
$o5 = $_POST['o5'];
$n6 = $_POST['n6'];
$d6 = $_POST['d6'];
$i6 = $_POST['i6'];
$o6 = $_POST['o6'];

$info = $_POST['info'];

$odkogo = "sandra.laura@gmail.com";

$dokogo = "sandra.laura@gmail.com";

$tytul = "Formularz zgłoszenia- Recepty";

$wiadomosc = "";
$wiadomosc .= "Imie i nazwisko: " . $name . "\n";
$wiadomosc .= "PESEL: " . $pesel . "\n";
$wiadomosc .= "Nazwisko lekarza: " . $lekarz . "\n";
$wiadomosc .= "Email: " . $email . "\n";

$wiadomosc .= "
<html>
<head></head>
<body>
    <table>
        <tr>
            <th>Nazwa leku</th><th>Dawka leku</th<th>Ilość opakowań</th><th>Opcja</th>
        </tr>
        <tr>
            <td>"\n1"</td><td>"$d1"</td><td>"$i1"</td><td>"$o1"</td>
        </tr>
</body>
</html>
";

$sukces = mail($dokogo, $tytul, $wiadomosc, "Od: <$odkogo>");


if ($sukces){
  print "<meta http-equiv=\"refresh\" content=\"0;URL=potwierdzenie.php\">";
}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.html\">";
}
?>
nospor
zwroc uwage jak ja wkladam zmienne gdy uzywam " a jak ty...

I zacznij w koncu uzywac BBCODE PHP a nie CODE
SandraLaura
sorry

nie do końca wiem o co Ci chodzi z tymi "
Byłabym wdzięczna za podpowiedź gdzie leży błąd, bo już się z tym męczę kilka dni
nospor
Ja robie tak:
$zm = "blabla $jakaszmienna blabla";

Ty robisz tak
$zm = "blabla "$jakaszmienna" blabla";

Naprawde nie widzisz roznicy miedzy tymi dwoma tekstami?
SandraLaura
Czyli powinno być tak.
Udało mi się wysłać wiadomość i działają zmienne ale z kolei nie wyświetla się w formie tabeli tylko kod się pokazuje sad.gif
  1. $wiadomosc .= "
  2. <html>
  3. <head></head>
  4. <body>
  5. <table>
  6. <tr>
  7. <th>Nazwa leku</th><th>Dawka leku</th<th>Ilość opakowań</th><th>Opcja</th>
  8. </tr>
  9. <tr>
  10. <td>$n1</td><td>$d1</td><td>$i1</td><td>$o1</td>
  11. </tr>
  12. </table>
  13. </body>
  14. </html>
  15. ";
nospor
Przeciez mowilem, ze zeby wyslac maila jako HTML masz ustawic wpierw odpowiedni naglowek dla tego maila. Podalem ci nawet linka gdzie pokazuja jak to zrobic. Ustawilas ten naglowek? Nie.
SandraLaura
O to chodzi?

Jak to wkleiłam to nic się nie zmieniło

  1. $headers = 'MIME-Version: 1.0' . "\r\n";
  2. $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
nospor
No ale przekazalas te $headers do funkcji mail()?
SandraLaura
Ok już działa wink.gif dzięki za pomoc smile.gif

jeszcze małe pytanko jeżeli chodzi o styl tabeli to mogę to zrobić normalnie w sekcji head?
nospor
Tak
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.