Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błąd odczytu zmiennej
Forum PHP.pl > Forum > Przedszkole
BombaPHP
Witam wszystkich
Jestem początkującym zawodnikiem jeśli chodzi o PHP i zmuszony jestem poprosić o pomoc gdyż
mimo, że problem dla Was banalny to dla mnie jest trochę zagadkowy
Poniżej mój formularz i skrypt php do kontaktu mailowego

Otóż problem wygląda następująco:
1)Brak w wiadomościach odebranych treści $message Screen problemu
2)Prośba w pomocy napisaniu walidacji dla zmiennej predefiniowanej pola from $_POST["from"]; (aby mail zwrotny
zawierał odpowiednie znaki)

SKRYPT
Kod
<html>
                             <head><title>Wiadomość wysłana</title></head>
                             <body>
                             <?php
                             $from = $_POST["from"];
                             $subcject = $_POST["subject"];
                             $message = "From: ".$from."\r\n";
                             $mailsent = mail('m6jmejl@xx.xx', $subject, $message, $headers);
                             if ($mailsent) {
                             echo "gratulację wiadomość wysłana";
                             echo "<b>odbiorca</b> $to";
                             echo "<b>nadawca</b> $from";
                             echo "<b>temat</b> $subject";
                             echo "<b>tresc</b> $to";
                             echo $message;  //nie wyświetla w odbiorze maila tej zmiennej
                             }
                             else {
                             echo "wiadomość wysłana";
                             }
                             ?>
                             </body>
                             </html>


FORMULARZ
Kod
<html>
                             <head>
                             <title>Wyslij wiadomosc-test</title>
                             </head>
                             <body>
                             <form name="theform" method="post" action="wyslijpoczte.php">
                             <table>
                             <tr>
                              <td>Nadawca: </td>
                              <td><input type="text" name="from" size="50"></td>
                             </tr>
                             <tr>
                              <td>Temat: </td>
                              <td><input type="text" name="subject" size="50"></td>
                             </tr>
                             <tr>
                             <td valign="top">Wiadomość: </td>
                             <td>
                             <textarea cols="60" rows="10" name="$message">
                             Tu wpisz treść swojej wiadomości
                             </textarea>
                             <td>
                             </tr>
                             <td></td>
                             <td>
                             <input type="submit" value="Wyślij">
                             <input type="reset" value="Wyczyść">
                             </td>
                             </tr>
                             </table>
                             </form>
                             </body>
                             </html>




Pozdrawiam i mam nadzieję, że ktoś znajdzie chwilę i pomoże
em-ba
moze spróbuj dać przy wyswietlaniu zmiennej $message jakie ciapki winksmiley.jpg

cos takiego
echo "$message"
czy
echo '.$message.'
echo "'.$message.'"

pokombinuj wpierw z tym.....


a ogółem to coś Ci sie wyświetla (jakas inf., błąd) czy nic... ?
HellRider
Cytat
<textarea cols="60" rows="10" name="$message">


Powinno być
Cytat
<textarea cols="60" rows="10" name="message">


Do tego w PHP:

  1. <?php
  2. $message = $_POST["message"];
  3. $headers = "From: ".$from."r\n";
  4. ?>
Chrom
chyba raczej tak

  1. <?php
  2. $message = $_POST["message"];
  3. $message = "From: ".$message."r\n";
  4. ?>
HellRider
Napisałem dobrze, $message i $headers zawierają osobne dane dla użytej funkcji mail()

$_POST["message"] przenosi treść z FORM
"From: ".$message."\r\n" jest typową składnią Mail Headers
BombaPHP
HellRider, wielkie dzięki za pomoc - faktycznie teraz już śmiga, musiałem nie doczytać tego manuala funkcji mail+ta zmienna w formularzu która powinna być nazwą. Super wyłapałeś te wszystkie błędy.


...teraz zacznę próby z walidacją jakby co to dalej będę się zwracał o pomoc yahoo.gif



----------------------------
EDIT







Czy znalazł by ktoś chwilę dla napisanie walidacji sprawdzającej pole z mailem nadawcy - pole from powyższego skryptu

Byłbym bardzo wdzięczny rolleyes.gif
Pozdrawiam
ucho
Szczerze - nie waliduj, sprawdz tylko czy jest "@". Formalne warunki co do adresu email to "coś@coś" - a ludzie sprawdzają czy jest dość ".", ograniczają login tylko do liter i cyfr itp. - co tylko problemy powoduje. Pewnie w ciągu paru lat możemy się spodziewać adresów "login@gmail", ciekaw jestem na ilu stronach przez formularz to przejdzie smile.gif
BombaPHP
W sumie faktycznie zależy mi aby był znaczek @ - czyli taka podstawa

Prosiłbym o pomoc bo chyba coś pokręciłem w poniższym kodzie sadsmiley02.gif

Kod
function  walidacja($from) {
   $test = "@";
   if(preg_match($test, $from)
   {
   return true;
   }
   else
   {
   return false;
   echo "Wprowadzony adres e-mail jest nieprawidłowy";
   echo "Spróbuj ponownie"."<a href='poczta.php'>wyślij</a>";
   }



Pozdrawiam
Ociu
Zacznij używać odpowiedniego bbCode i dodaj tag do tematu.
strstr" title="Zobacz w manualu PHP" target="_manual
piotrooo89
jeśli walidacja w php Ci nie "pyknie" to możesz użyć js: http://www.easyjavascript.begin.pl/?q=node/12
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.