ugrás a tartalomhoz

post - action és az include

Hatusi · 2011. Jan. 25. (K), 10.01
Sziasztok!

Kérdésem két részből áll. Adott egy index.php fájl
amiben így néznek ki a menü linkjei:

...
<a href='?menu=menza'>Heti menza</a>
<a href='?menu=csengetes'>Csengetési rend</a>
<a href='?menu=orarend'>Órarend</a>

...

egy egyszerű switch - case szerkezettel szétválogatom és include utasítással betöltöm pl. a menza.php fájlt az index.php-be
<?php
        switch($_GET['menu'])
            {
                case menza:
                    include("load/menza.php");break;
                case csengetes:
                    include("load/csengetesirend.php");break;
                case orarend:
                    include("load/orarend.php");break;
                   
                default:
                include("load/hirek.php");break;
            }
    ?>

eddig semmi baj nincs is, azonban a kapcsolat.php-n csináltam egy levélküldőt:
<form method="post" action="load/sendmail.php" />
   //az action után hivatkozok a feldolgozó php oldalra, be is töltődik, de új
   //lapon. ?menu=sendmail-t szeretnék ezt hogy a bánatba tudom életre kelteni?
   //action után?
                    <?php
                        $ipi = getenv("REMOTE_ADDR");
                        $httprefi = getenv ("HTTP_REFERER");
                        $httpagenti = getenv ("HTTP_USER_AGENT");
                    ?>
                <p align="justify" class="style2">  
                    <input type="hidden" name="ip" value="<?php echo $ipi ?>" />
                    <input type="hidden" name="httpref" value="<?php echo $httprefi ?>" />
                    <input type="hidden" name="httpagent" value="<?php echo $httpagenti ?>" />
                    Név:<br>
                    <input type="text" name="visitor" size="81%" />
                    <br><br>
                    E-mail c&iacute;med:<br>
                    <input type="text" name="visitormail" size="81" />
                    <br><br>
                    Üzenet:
                    <br>
                    <textarea name="notes" rows="7" cols="61"></textarea>
                    <br><br>
                    <input type="submit" value="Küldés!" />
                    </form>

a lényeg a post utáni action-on van! ugye a ?menu= formula <a href>....</a> tag-ek esetén él, azonban szeretném, ha a feldolgozó sendmail.php fáj is iclude-al lenne betöltve az index.php-ba. Ugyan nem kell a működéshez, de legyen teljes, ideírom a sendmail.php tartalmát is:
<?php
            $ip = $_POST['ip'];
            $httpagent = $_POST['httpagent'];
            $visitor = $_POST['visitor'];
            $visitormail = $_POST['visitormail'];
            $notes = $_POST['notes'];
            if (eregi('http:', $notes)) {}
            if(empty($visitor) || empty($visitormail) || empty($notes ))
                {
                    echo "Töśltsd ki az összes mező t!<br>";
                    $badinput = "A levelet csak az összes mező helyes kitöltése után küldheted el!";
                    echo $badinput;
                }
            else
                {
                    if(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,".")))
                        {
                            print("Hibás e-mail címet adtál meg.<br>");
                            $badinput = "A levelet csak az összes mező helyes kitöltése után küldheted el!";
                            echo $badinput;
                        }
                    else
                        {
                            $todayis = date("Y. m. d. G:i A") ;
                            $notes = stripcslashes($notes);
                            $message = " $todayis [EST] \n
                            Feladó: $visitor ($visitormail)\n
                            Ü zenet: $notes \n
                            Levélküldő IP címe: IP = $ip \n
                            Milyen böngészőt használ: $httpagent \n";
                            $from = "From: $visitormail\r\n";
                            $felado = "From: constantinum_weboldal\r\n";
                            mail("constantinum##kukac##constantinum.hu", $subject, $message, $felado);
                            print("A levél sikeresen elküldve.<br>");
                            $today = date("Y. m. d. G:i A");
                            echo $today;
                        }
                }
        ?>
        <br><br>
            <a href='?menu=kapcsolat'>Vissza a levélküldéshez!</a>

Köszi
 
1

Lehet nem értek valamit, de

kuka · 2011. Jan. 25. (K), 11.00
Lehet nem értek valamit, de én így használom:
<form method="post" action="?menu=sendmail" />
2

ilyet!

Hatusi · 2011. Jan. 25. (K), 11.18
Ezt nem hiszem el! Localhost-on ment tökéletesen, de mikor feltöltöttem webserverre, nem akarta az igazat. Próbáltam mindenfélét, majd ismét visszaírtam a fent említett sort, és most meg jó. köszi a megerősítést...