Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Funkcje, i ich wywołanie
Forum PHP.pl > Forum > Przedszkole
deadmen4
Witam,

Mam problem.... chce zrobić aby zawartość pola tekstowego określała zmienną...

  1.  
  2. <input type="text" name="temacik"> <button onclick="tem()">OK
  3. </button>
  4.  
  5. <?php
  6.  
  7. function tem() {
  8.  
  9. global $temat;
  10.  
  11. $temat = $_POST['temacik'];
  12.  
  13. }
  14.  



Nie działa... sciana.gif sciana.gif

Pole temacik ma określić zmienną $temat. I mam pare pytań...

1. Czy ten button i funkcja jest potrzebny by całość zadziałała... ?
2. Jak nie jest potrzebne to jak to ma wyglądaćquestionmark.gif
3. czy global $temat; jest potrzebne?? (poza funkcją zmienna jest potrzebna do reszty strony)

I prosiłbym bym o napisanie jak to ma wyglądać. Myśle że da się zrozumieć o co mi chodzi....



pozdr.
darko
1. jeśli dobrze zrozumiałem, to: NIE (w ogóle mylisz funkcje js z php)
2. a co Ty w ogóle chcesz zrobić ?
3. jw.

$temat = $_POST['temacik'];
tylko obejmij to jeszcze tagami formularza z podaną akcją i metodą post

Poza tym tablica $_POST jest superglobalna, więc:
  1. function tem() {
  2. return $_POST['temacik'];
  3. }
  4.  
  5. $temacik = tem();
  6. // chyba że potrzebujesz jej do czegoś wewnątrz tej funkcji:
  7.  
  8. function tem() {
  9. $t = $_POST['temacik'];
  10. // i dalej coś tam w temaciku
  11. }
  12.  
altruista2
Kod
<form method="post"><input type="text" name="temacik">  <input type="submit" value="wyslij"></form>

<?php

function tem() {
   $temat = $_POST['temacik'];
   echo $temat;
}
tem();

?>
deadmen4
To może pokaże całość i o co mi chodzi


Ma to być forumlarz wysłany na email:

  1.  
  2.  
  3. <script type="text/javascript">
  4. // <![CDATA[
  5.  
  6.  
  7. function usun_pl(formularz) // To jest usuwacz polskich znaków
  8. {
  9. for (i = 0; i < formularz.length; i++)
  10. {
  11. var pole = formularz.elements[i];
  12. if (pole.type != "text" && pole.type != "textarea") continue;
  13. var str = "";
  14. for (j = 0; j < pole.value.length; j++)
  15. {
  16. switch (pole.value.charAt(j))
  17. {
  18. case "ą": str += "a"; break;
  19. case "ć": str += "c"; break;
  20. case "ę": str += "e"; break;
  21. case "ł": str += "l"; break;
  22. case "ń": str += "n"; break;
  23. case "ó": str += "o"; break;
  24. case "ś": str += "s"; break;
  25. case "ź": str += "z"; break;
  26. case "ż": str += "z"; break;
  27. case "Ą": str += "a"; break;
  28. case "Ć": str += "c"; break;
  29. case "Ę": str += "e"; break;
  30. case "Ł": str += "l"; break;
  31. case "Ń": str += "n"; break;
  32. case "Ó": str += "o"; break;
  33. case "Ś": str += "s"; break;
  34. case "Ź": str += "z"; break;
  35. case "Ż": str += "z"; break;
  36. default: str += pole.value.charAt(j); break;
  37. }
  38. }
  39. pole.value = str;
  40. }
  41. }
  42. // ]]>
  43.  
  44. </script>
  45.  
  46.  
  47. <?php // Tu się zaczyna skrypt wysyłania forumlarza na email
  48.  
  49. if (count($_POST))
  50. {
  51. ////////// USTAWIENIA //////////
  52. $email = 'zb007@go2.pl'; // Adres e-mail adresata
  53. $subject = 'temat'; // Temat listu
  54. $message = 'Dziękujemy za wysłanie formularza'; // Komunikat
  55. $error = 'Wystąpił błąd podczas wysyłania formularza'; // Komunikat błędu
  56. $charset = 'iso-8859-2'; // Strona kodowa
  57. //////////////////////////////
  58.  
  59. $head =
  60. "MIME-Version: 1.0\r\n" .
  61. "Content-Type: text/plain; charset=$charset\r\n" .
  62. "Content-Transfer-Encoding: 8bit";
  63. $body = '';
  64. foreach ($_POST as $name => $value)
  65. {
  66. if (is_array($value))
  67. {
  68. for ($i = 0; $i < count($value); $i++)
  69. {
  70. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  71. }
  72. }
  73. else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
  74. }
  75. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  76. }
  77. else
  78. {
  79.  
  80. ?>
  81. <form action="?" method="post" onsubmit="usun_pl(this)"> // A od tąd forumlarz (narazie wersja próbna)
  82.  
  83.  
  84.  
  85.  
  86. <b>Twoje imię:</b> <input type="text" name="Imie" /> </br></br>
  87.  
  88. <b>Twoja płec:</b> <select name="nazwa">
  89. <option>Mężczyzna</option>
  90. <option>Kobieta</option>
  91. (...)
  92. </select>
  93.  
  94.  
  95.  
  96. <input type="submit" value="wartość" />
  97.  
  98.  
  99.  
  100. </form>
  101. <?php
  102. }
  103. ?>
  104.  



Wszystko gra, ale każdy wysłany formularz będzie miał TAKI SAM temat... chcę aby można go było to ustawić w formularzu.

Temat określa zmienna $subject. Ma to być tak, że wpisuje się temat maila (w polu tekstowym) i wypełnia formularz... i dlatego kiełbasiłem z przyciskiem zatwierdzającym funkcje......... ale siedze nad tym 3h i nie działa......... sad.gif . Proszę o pomoc.
altruista2
przed tym:
Kod
<input type="submit" value="wartość" />

dodaj:
Kod
Temat: <input type="text" name="temat"/>



zamień to:
Kod
$subject = 'temat'; // Temat listu

na to:
Kod
$subject = $_POST['temat'];


I wsio:)
deadmen4
altruista2


Dzięki Ci wielkie party.gif czarodziej.gif exclamation.gif

Wszystko działa. Dziękuje wszystkim guitar.gif guitar.gif
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.