Page 1 of 2

[OPGELOST] PHP include probleem

Posted: Wed Sep 01, 2010 9:36 am
by harmh
Beste iedereen! Heb een vraagje over het includen van php. Ik heb op dit moment de volgende tag gebruikt om een contact formulier te includen

{include_php file="formulieren/contact.php"}

Nu werkt het formulier zelfstandig wel, maar als ik het plaats in het content veld werkt het niet meer. Nadat ik op submit heb gedrukt wordt het niet verzonden. Kan iemand mij helpen?

Re: PHP include probleem

Posted: Wed Sep 01, 2010 10:40 am
by Rolf
Hoi harmh,

Je kunt de php code wellicht beter in een UDT stoppen.
De gehele code maar zonder de tags

je kunt het dan in de pagina aanroepen met {jouw_udt_naam}

Duidelijk, of te snel ;)

Rolf  :)

Re: PHP include probleem

Posted: Wed Sep 01, 2010 10:51 am
by harmh
Te snel denk ik?

Heb nu de uit mijn php bestand gehaald, maar dan geeft deze alles weer :s

Re: PHP include probleem

Posted: Wed Sep 01, 2010 12:05 pm
by Jos
Heb je het ook wel in een UDT geplakt dan?

Een submit roept een script aan. Bestaat die wel? Juiste pad?

Re: PHP include probleem

Posted: Wed Sep 01, 2010 12:14 pm
by harmh
De PHP code is als volgt (heb dit nu zo in een UDT geplakt)


// geef e-mail adres op van ontvanger
$mail_ontv = "mail@website.nl";

// is niet 100% !!!
function checkmail($mail)
{
    $email_host = explode("@", $mail);
    $email_host = $email_host['1'];
    $email_resolved = gethostbyname($email_host);

    if ($email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail))
        $valid = 1;

    return $valid;
}

// als er niet op submit is gedrukt, of als er wel op is gedrukt maar niet alles ingevoerd is
if (!$_POST['submit'] || $_POST['submit'] && (!$_POST['voornaam'] || !$_POST['mail'] || !checkmail($_POST['mail']) ))
{
    if ($_POST['submit'] && (!$_POST['voornaam'] || !$_POST['mail'] || !checkmail($_POST['mail']) )) 
    {
        echo "Niet alle gegevens zijn volledig ingevuld.Controleer of alle velden zijn ingevuld en probeerhet formulier opnieuw te verzenden.";

    }
     
    // form + tabel
    echo "";
    echo "";
     
    // voornaam
    echo "Mijn naam:";
    echo "";
   
// achternaam
    //echo "Achternaam:";
    //echo "";
   
// adres en huisnummer
    //echo "Adres en huisnummer:    ";
    //echo "";
   
// postcode
    //echo "Postcode:";
    //echo "";
   
// plaats
  // echo "Plaats:";
  // echo "";
     
    // mail
    echo "Mijn e-mail:";
    echo "";
     
    // mail
    //echo "Mijn vraag/idee:";
    ///echo "";
    // mail
    //echo "Aantal:";
    //echo "";
     
     
    //mail
    echo "Mijn vraag/idee:";
    echo "" . htmlentities($_POST['msggs']) . "";
   
//space
    echo " ";
     
   
    // button
    echo " ";
    echo "";
     
    // sluit form + tabel
    echo "";
    echo "";
}
// versturen naar
else
{     
    // set datum
    $datum = date("d.m.Y H:i");
     
    // set ip
    $ip = $_SERVER['REMOTE_ADDR'];
     
    $inhoud_mail = "=============================================\n";
    $inhoud_mail .= "Donderbellen idee/vraag (contact via website)\n";
    $inhoud_mail .= "============================================\n\n";
   
    $inhoud_mail .= $_SERVER['SCRIPT_URI'] . "\n\n";

    $inhoud_mail .= "Zijn/haar naam: " . $_POST['voornaam'] . "\n";
    //$inhoud_mail .= "Achternaam: " . $_POST['achternaam'] . "\n";
    //$inhoud_mail .= "Adres en huisnummer: " . $_POST['adres'] . "\n";
    //$inhoud_mail .= "Postcode: " . $_POST['postcode'] . "\n";
    //$inhoud_mail .= "Plaats: " . $_POST['plaats'] . "\n";
    $inhoud_mail .= "Zijn/haar e-mail adres: " . $_POST['mail'] . "\n";
    $inhoud_mail .= "Zijn/haar vraag en/of idee: " . $_POST['msggs'] . "\n\n";
     
    $inhoud_mail .= "Verstuurd op " . $datum . " via het ip " . $ip . "\n\n";
     
    $inhoud_mail .= "===================================================\n\n";
   
    // --------------------
    // spambot protectie
    // ------
    // van de tutorial: http://www.phphulp.nl/php/tutorials/10/340/
    // ------
   
    $headers = "From: " . $_POST['voornaam']  . " ";
   
    $headers = stripslashes($headers);
    $headers = str_replace("\n", "", $headers); // Verwijder \n
    $headers = str_replace("\r", "", $headers); // Verwijder \r
    $headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes
   
    $_POST['voornaam'] = str_replace("\n", "", $_POST['voornaam']); // Verwijder \n
    $_POST['voornaam'] = str_replace("\r", "", $_POST['voornaam']); // Verwijder \r
    $_POST['voornaam'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['voornaam'])); // Slashes van quotes
   
    mail($mail_ontv, $_POST['voornaam'], $inhoud_mail, $headers);
   
    echo "Je vraag/idee is goed verzonden!";
    echo "Je ontvangt zo snel mogelijk een reactie.";
}

Re: PHP include probleem

Posted: Wed Sep 01, 2010 12:49 pm
by Rolf
Als je bovenstaande code in een udt hebt geplakt,
en deze udt op de pagina hebt aangeroepen met {jouw_udt_naam} dan is het 'includen' goed gedaan...

Of het script dan ook daadwerkelijk werkt binnen CMSMS is een ander verhaal...

grt. Rolf :)

Re: PHP include probleem

Posted: Wed Sep 01, 2010 12:56 pm
by harmh
Daar was ik al bang voor :S Zijn er manieren om dat zo te checken?

Re: PHP include probleem

Posted: Wed Sep 01, 2010 1:38 pm
by Gamonon
Ik heb mijn php formulieren in iframes geplaatst en dat werkt prima.


 

Re: PHP include probleem

Posted: Fri Sep 03, 2010 10:15 am
by harmh
Ik heb nu ook iframes gebruikt en dat werkt prima! Top!

Re: [OPGELOST] PHP include probleem maar voor mij nog niet

Posted: Fri Sep 03, 2010 1:21 pm
by Gamonon
Nu wil ik hier zelf op terug komen  :) dus misbruik ik deze post even

Ik gebruikte IFrames omdat ik de include nooit werkend heb gekregen.
Functioneel werkt dat goed maar de content is door de marges slecht in te passen.

Wat ik dus gedaan heb is

UDT aangemaakt
naam: form1
content: include ('http://www.websiteklant.nl/base/form/info.php') ;

In de pagina een call aangemaakt met: {form1}

Dat geeft als resultaat in de browser geen formulier maar:

Code: Select all

Warning: include() [function.include]: URL file-access is disabled in 
the server configuration in /home/lata/domains/lata.nl/public_html/lib/content.functions.php(976)
 : eval()'d code on line 1
Als ik het php formulier rechtstreeks in de browser opgeef, wordt hij wel correct geladen.

Wat doe ik waar verkeerd en vooral, hoe moet het dan wel  ???

Re: [OPGELOST] PHP include probleem maar voor mij nog niet

Posted: Fri Sep 03, 2010 1:25 pm
by Rolf
Gamonon wrote: Wat doe ik waar verkeerd en vooral, hoe moet het dan wel  ???
Het lijkt op een server instelling die dit blokkeert, zou even contact opnemen met de host.

grt. Rolf

Re: [OPGELOST] PHP include probleem

Posted: Fri Sep 03, 2010 1:38 pm
by Gamonon
Nee Rolf, de error komt uit een CMSms bestand in de 'lib' folder.

Bovendien wordt zoals gezegd het formulier prima geladen als
hij direct in de browser aangeroepen wordt.

oh, ik ben zelf de host  ;D

Re: [OPGELOST] PHP include probleem

Posted: Fri Sep 03, 2010 1:43 pm
by Rolf
Gamonon wrote: oh, ik ben zelf de host  ;D
Ohh dat is lastig, heb je niemand om over te klagen  ;)
Warning: include() [function.include]: URL file-access is disabled in the server configuration in...
Ik begrijp hier toch echt uit dat het een server instelling is, die de Include functie tegenhoud...

®

Re: [OPGELOST] PHP include probleem

Posted: Fri Sep 03, 2010 2:28 pm
by Gamonon
Rolf wrote: Ohh dat is lastig, heb je niemand om over te klagen  ;)
Exact en daarom kom ik hier  ;D
Nee alle includes op een stokje, ik heb htaccess ook al aangepast met :

    AddType application/x-httpd-php .php .html .htm

maar dat helpt dus ook niet.

Hoewel ik niet weet waarom een server instelling een include in de contet zou willen tegenhouden, ga ik dan maar in mijn host manual te rade. Maar als blijkt dat het toch in CMSms ligt, kom ik terug hoor.  :D

Re: [OPGELOST] PHP include probleem

Posted: Fri Sep 03, 2010 3:21 pm
by deactivated010521
----------