Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Przekazywanie zmiennych GET w includowanych plikach
punkomuzykant
post
Post #1





Grupa: Zarejestrowani
Postów: 147
Pomógł: 3
Dołączył: 28.12.2007
Skąd: toronto

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


Witam
Męczę się od dłuższego czasu z takim problemem. Wyklepałem to

kontakt.php
Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head lang="pl">
   <title>Kontakt</title>
   <meta http-equiv="content-type" content="text/html;charset=utf-8">
   <meta http-equiv="Content-Style-Type" content="text/css">
  
   <style type="text/css">
<!--
*{
margin:0;
padding:0;
}
.tresc_form{
margin-bottom:25px;
margin-left:20px;
font-family:Arial;
font-size:10px;
color:#999999;
}
.tresc_form_alert{
margin-bottom:25px;
margin-left:20px;
font-family:Arial;
font-size:10px;
color:#FF0000;
}
.tresc_form_SendTo{
margin-bottom:25px;
margin-left:20px;
font-family:Arial;
font-size:16px;
color:#FF9933;
}
.tresc_normal{
font-family:Arial;
font-size:12px;
color:#333333;
}
#formularz{
margin-left:25px;
}
-->
   </style>
</head>

<body>
<div id="formularz">
<form action="kontakt.php" method="post">
<?php

/*---------------------------------------------------------*/
$email = stripslashes($_REQUEST['email']);
$tresc = stripslashes($_REQUEST['tresc']);
/*-------------------------WALIDACJA--------------------------------------*/
function IsValidEmail($email, $tresc) {
    if(empty ($tresc) and empty ($email)) {
    echo '
    <p class="tresc_normal">E-mail:<br><input name="email" type="text" value="'.$email.'" size="30" maxlength="30"></p>
    <p class="tresc_form">(wpisz pełny adres e-mail)</p>
    <p class="tresc_normal">Wiadomość:<br><textarea name="tresc" cols="50" rows="5">'.$tresc.'</textarea></p>
    <p class="tresc_form">(tu wpisz treść wiadomości)</p>
    <p><input name="submit" type="submit" value="Wyślij"></p>
';
    }
    else if(!preg_match('/^([0-9a-zA-Z_\.]+)@([0-9a-zA-Z_\.]+)\.([0-9a-zA-Z]){2,3}$/',$email)) {
//        echo "Podany adres e-mail nie jest prawidłowy ";
        echo '
    <p class="tresc_normal">E-mail:<br><input name="email" type="text" value="'.$email.'" size="30" maxlength="30"></p>
    <p class="tresc_form_alert">Podany adres e-mail nie jest prawidłowy</p>
    <p class="tresc_normal">Wiadomość:<br><textarea name="tresc" cols="50" rows="5">'.$tresc.'</textarea></p>
    <p class="tresc_form">(tu wpisz treść wiadomości)</p>
    <p><input name="submit" type="submit" value="Wyślij"></p>
';
    }
    else {
        IsValidTresc($tresc, $email);
    }
}
IsValidEmail($email, $tresc);

function IsValidTresc($tresc, $email) {
    if(empty ($tresc)) {
    echo '
    <p class="tresc_normal">E-mail:<br><input name="email" type="text" value="'.$email.'" size="30" maxlength="30"></p>
    <p class="tresc_form">(wpisz pełny adres e-mail)</p>
    <p class="tresc_normal">Wiadomość:<br><textarea name="tresc" cols="50" rows="5">'.$tresc.'</textarea></p>
    <p class="tresc_form_alert">Nie wpisano żadnej treści do wysłania.</p>
    <p><input name="submit" type="submit" value="Wyślij"></p>
';
    }
    else {
        echo '<p class="tresc_form_SendTo">Dziękujemy za wypełnienie formularza.</p>';
        SendTo($tresc, $email);
    }
}
/*-------------------------WALIDACJA--------------------------------------*/
function SendTo($tresc, $email){
$do_kogo = "marek <marek@wp.pl>";
$temat = 'Kontakt , '.$email;
$wiadomosc = '
<html>

  <head>
    <title>Zadaj pytanie</title>
  </head>

  <body>
    <p>'.$tresc.'<br><hr>
    Nadawca:<b> '.$email.'</b>
    </p>
  </body>

</html>
';
$naglowki .= "MIME-Version: 1.0\n";
$naglowki .= "Content-type: text/html; charset=utf-8\n";

mail($do_kogo, $temat, $wiadomosc, $naglowki);
}
?>
</form>
</div>
</body>
</html>

pewnie są błędy techniczne ale co tam działa ładnie ;p
Btw. Plik działa jeżeli wywołam jego samego. Ew. niepoprawne zmienne są zwracane i niema konieczności wypełniania formularza ponownie. Jak teraz wykombinować przekazywanie zmiennych jeżeli ten plik jest includowany ?
wygląda to standardowo
include nagłówek z menu
include jakaś strona wczytywana z menu nagłówka
include stopka
probowałem zmienić ten wpis
Kod
input name="submit" type="submit" value="Wyślij">

na a href ze zmiennymi get ale wywalało puste wartości i plik kontakt.php ładował się na całym oknie bez stopki i nagłówka
W php programuję od niedawna ale nie potrzebuje kodu tylko jakiegoś namiaru jak to wykonać, czego użyć. HELP (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował punkomuzykant 22.07.2008, 16:15:02
Go to the top of the page
+Quote Post
Shili
post
Post #2





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


A nie możesz po prostu formularza zamiast postem przesłać getem (method="get")?

@edit
Z rozpędu wpisałam złą metodę (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował Shili 22.07.2008, 16:28:28
Go to the top of the page
+Quote Post
Maxik
post
Post #3





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

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


Nie wiem czy o to chodzi, ale przy action kontakt.php może dać gety np. action="kontakt.php?zmienna=wartosc"
Go to the top of the page
+Quote Post
neverever
post
Post #4





Grupa: Zarejestrowani
Postów: 278
Pomógł: 44
Dołączył: 17.02.2004
Skąd: Wieliczka

Ostrzeżenie: (10%)
X----


Tylko po co tak kombinować z getem?

Style wrzucasz na plik do którego includujesz np index.php, w kontakt.php zostawiasz tylko to co między znacznikami BODY, w formularzu action zmieniasz na pysty tj.: <form action="" method="post"> czyli wysyłasz do siebie.

W sumie masz strasznie pokombinowany ten kod. Powinieneś najpier wprawdzić czy masz wysłany formularz tj. czy coś wysłane postem, jeśli tak to cała procedura walidacji i wysyłania maila. Jeżeli nie, to wyświetlenie formularza.

Ten post edytował neverever 22.07.2008, 16:30:18
Go to the top of the page
+Quote Post
punkomuzykant
post
Post #5





Grupa: Zarejestrowani
Postów: 147
Pomógł: 3
Dołączył: 28.12.2007
Skąd: toronto

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


Cytat
Tylko po co tak kombinować z getem?

Wiesz - jak się wie co się robi to się nie kombinuje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . np teraz nie miałem pojęcia że mogę zwyczajnie zrobić
Kod
<form action="" method="post">

i wszystko zadziała. Programuję pod flashem a możliwości i powiązania w php znam jeszcze słabo stąd ta lipa w kodzie.
Dzięki Wam za zainteresowanie
+ dla neverever
[edit]
Kod
action="kontakt.php?zmienna=wartosc"

tego że w form action mogę wysyłać dodatkowe zmienne też nie wiedziłem - dzięki maxik

Ten post edytował punkomuzykant 22.07.2008, 16:48:03
Go to the top of the page
+Quote Post

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: 22.08.2025 - 17:23