Contactpagina maken (PHP)
  Dutch Topics, DO NOT reply in other languages than Dutch !  

Xtremer    posted on 18-01-2009 17:04
Ik wil voor mijn nieuwe website een mooie contactpagina hebben. Nu heb ik al zoveel geprobeerd met tutorials, maar ik krijg steeds errors en mijn mail word niet verzonden. Zou iemand mij kunnen helpen om een contactpagina te maken of een kant en klare aan me te geven:d?
DJ: www.djxtremer.nl - Portfolio: www.patrickheiloo.nl


What do you think about Contactpagina maken (PHP) ??

Vote :   

Lead    posted on 18-01-2009 17:31
Wat gaat er precies mis ?

Met de omschrijving die je geeft kan ik niets. Een contact formulier op zichzelf is niets moeilijks, om ervoor te zorgen dat de verstuurde mail niet als spam gezien wordt is een heel ander verhaal.

Welke fout krijg je precies ?
Let the BASS be louder
Xitrate    posted on 18-01-2009 17:41
Ondersteunt je server wel PHP?
Xtremer    posted on 18-01-2009 17:51
Ik heb het volgende FORMULIER, is dit wel een goeie? Ik heb heel weinig verstand van PHP, ben meer van HTML namelijk... Ik kreeg deze fout: /?actie=verzenden

Wat moet ik precies instellen op mijn server (cPanel)? Heb het emailadres van mij er ook ingezet.
DJ: www.djxtremer.nl - Portfolio: www.patrickheiloo.nl
User edit by Xtremer on 18-01-2009 @ 17:54:27 (61%)
Lead    posted on 18-01-2009 18:31
Ondersteund je server wel php Confused

maak eens een leeg bestand aan in de root van je server, genaamd test.php

Het enige wat je erin zet is :


<?php
phpinfo();
?>
 

Open vervolgens www.site.ext/test.php.

Wat zie je dan Confused Een hele pagina met informatie of iets anders ?

PHP moet door je provider geactiveerd zijn voor je domein, dit is niet iets wat je zelf kunt doen.
Let the BASS be louder
Mod edit by Lead on 18-01-2009 18:31 (8%)
Gery    posted on 18-01-2009 18:45
waarschijnlijk een fout in je php code, normaal gezien met deze action in de html form tag moet je php code beginnen met een check naar de variabele actie.

als de variabele actie bestaat en gelijk is aan verzenden moet men uit de url strinf de variabelen uitlezen (get var) en die in een mail versturen

bestaat de variabele actie niet moet gewoon het formuliet te voorschijn komen.

door je php broncode te posten zouden we meer kunnen zien wat er juist fout gaat,
bij de pagina die we zien krijgen we enkel de output in html te zien zonder de daarachterliggende logica.

rest mij nog de vraag waarom je nu net zo'n contact form wilt hebben.  persoonlijk vermeld ik liever gewoon mijn e-mail adres zodat de mensen mij direct kunnen mailen Happy, laughing
DJ - Producer
Xitrate    posted on 18-01-2009 18:46
Ik zie dat je bij Neostrada zit? Als ik naar hun aanbod kijk heeft elk pakket PHP-compabiliteit.. nogal raar dat het het dan niet doet!
Lead    posted on 18-01-2009 19:06
Xtremer, post even de uitkomst of je server PHP ondersteund... en welke versie (aardig belangrijk)

Tevens de source code van het contact formulier waarin de controlle zit van de door POST doorgegeven variables.

Het zou kunnen dat je server PHP5 heeft, terwijl je een scriptje hebt gepakt van PHP4 (zit fikse verschillen in)
Let the BASS be louder
Xtremer    posted on 18-01-2009 19:17
Gedaan, zie de volgende LINK

Begrijp goed dat ik een verstand van 0,0 heb als het gaat over PHP! Dit is helemaal nieuw voor mij, ken het gedeelte van m'n cPanel maar half...

Server versie: 5.0.51a-3ubuntu5.4
MySQL client version: 4.1.22
DJ: www.djxtremer.nl - Portfolio: www.patrickheiloo.nl
User edit by Xtremer on 18-01-2009 @ 19:22:48 (100%)
Gery    posted on 18-01-2009 19:39
en een weblink plaatsen naar een php bestand heeft al helemaal geen zin, kopieer miss de kode en plaats die bvb in een textbestand...
DJ - Producer
Lead    posted on 18-01-2009 19:40
Hmm.... dat heb ik nog niet eerder gezien. PHPinfo lijkt disabled voor veiligheidsrisico's Confused Vaag...

Poster: Gery
en een weblink plaatsen naar een php bestand heeft al helemaal geen zin, kopieer miss de kode en plaats die bvb in een textbestand...
 

Dat heeft wel zin, iedereen zou nu een lijst informatie moeten kunnen zien, hoofdzakelijk van belang is het verschijnen van de lijst, dan werkt PHP in ieder geval.

De source van de eerde geposte link is die ene programma regel die ik hierboven heb gezet.


En als je een klein test fileje maakt : test.php


<?php
echo "Hello Extremer<br>";
?>
 

Werkt dit ?? Dan weet je in ieder geval dat PHP werkt.

Poster: DJ-Xtremer
MySQL client version: 4.1.22
 

MySQL is de database die achter je site hangt, heeft niets met het wel of niet werken van een script/php te maken. Hierin sla je informatie op zodat je opmaak en informatie gescheiden houd, veel gemakkelijker te onderhouden !
Let the BASS be louder
Mod edit by Lead on 18-01-2009 19:44 (100%)
Xtremer    posted on 18-01-2009 19:57
Nu werkt t wel! LINK, niks gedaan, behalve wat jij zeiHappy, laughing.

Testbericht verzenden werkt, maar krijg het zo binnen terwijl alles heb ingevuld > Afzender:  Email adres:  Website:  Onderwerp:   IP: 80.56.227.209   Bericht:


<-->
Alert : Als je nog een keer zomaar shit plakt zonder het plak icoontje te gebruiken verwijder ik de posting. Door de opmaak shit die erin zit loopt deze pagina op DJR vast !
DJ: www.djxtremer.nl - Portfolio: www.patrickheiloo.nl
User edit by Xtremer on 18-01-2009 @ 20:10:06 (100%)
Mod edit by Lead on 19-01-2009 10:14 (100%)
Lead    posted on 18-01-2009 20:10
Het lijkt erop dat PHP werkt...

Dan hebben we het scriptje nodig van je contactformulier om verder te zoeken

Poster: DJ-Xtremer
Dit is het mailadres: || http://www.djxtremer.nl@shared01.neostradainfra.nl

 

eem e-mail adres begint niet met http://
Alert : Xtremer : Gebruik dit icoontje bij plakken van tekst op DJResource
Let the BASS be louder
Mod edit by Lead on 18-01-2009 20:14 (100%)
Xtremer    posted on 18-01-2009 20:14
Dit is de link naar het formulier: http://www.djxtremer.nl/test/contactformulier.php
Dit is de broncode:

$emailadres = "info@djxtremer.nl";
$sitenaam = "http://www.djxtremer.nl";

if(isset($_GET['actie']) == "verzenden")
{
if(empty($_POST['onderwerp']) || empty($_POST['naam']) || empty($_POST['email']) || empty($_POST['bericht']) || empty($_POST['site']))
{
echo "Je moet wel alle velden invullen!!";
}
else
{
mail($emailadres, $onderwerp, "Afzender: $naam \nEmail adres: $email \nWebsite: $site Onderwerp: \n$onderwerp \nIP: ".$_SERVER['REMOTE_ADDR']." \n\nBericht: \n$bericht", "From: $naam || $sitenaam");
echo "Bericht succesvol verzonden!";
}
}
DJ: www.djxtremer.nl - Portfolio: www.patrickheiloo.nl
User edit by Xtremer on 18-01-2009 @ 20:14:30 (63%)
Mod edit by Lead on 18-01-2009 20:21 (29%)
Xtremer    posted on 18-01-2009 20:19
Kreeg een bericht van: "||http://www.djxtremer.nl"@....

Bericht:Afzender:
Email adres:
Website: Onderwerp:

IP: 80.101.71.209

Bericht:


DJ: www.djxtremer.nl - Portfolio: www.patrickheiloo.nl
User edit by Xtremer on 18-01-2009 @ 20:19:56 (13%)
Mod edit by Lead on 18-01-2009 20:20 (19%)
Lead    posted on 18-01-2009 20:19
Nou, dan weet ik niet wat je doet, maar hier werkt dit script gewoon.

Verder kan ik je nog wel vertellen dat dit slechts een uiterste basis is voor een contact formulier.

Contact formulieren worden veelal door botjes ontdekt en misbruikt door spam-scripts.

Wat je hierboven post zou ik NOOIT LIVE ONLINE ZETTEN !!!! er zitten te veel dingen in die mensen zouden kunnen misbruiken. Je moet alle variabelen die je gebruik in het mail(....) commando filteren op exploits etc. Maar da's een heel hoofdstuk op zichzelf.
Let the BASS be louder
Mod edit by Lead on 18-01-2009 20:23 (1%)
Xtremer    posted on 18-01-2009 20:21
Zal het gelijk weghalen.

Edit kan niet:P.
DJ: www.djxtremer.nl - Portfolio: www.patrickheiloo.nl
User edit by Xtremer on 18-01-2009 @ 20:21:45 (75%)
Lead    posted on 18-01-2009 20:22
Eh... nee, je moet dingen verbeteren.

Maar dat bericht wat je kreeg had ik waarschijnlijk gestuurd... heb je gezien dat hij vanaf DJR werkt ??
Dan haal ik die onveilige code snel weer offline Winking my eye


EDIT : Ik zie dat hij het bij jouw inmiddels ook goed doet... als je alle velden maar invult Winking my eye
Let the BASS be louder
Mod edit by Lead on 18-01-2009 20:22 (50%)
Xtremer    posted on 18-01-2009 20:23
Hij werkt wel, maar ik krijg een leeg bericht, alles wat ik ingevuld heb zie ik niet.
DJ: www.djxtremer.nl - Portfolio: www.patrickheiloo.nl
Lead    posted on 18-01-2009 20:27
En als je deze regel :

mail($emailadres, $onderwerp, "Afzender: $naam \nEmail adres: $email \nWebsite: $site Onderwerp: \n$onderwerp \nIP: ".$_SERVER['REMOTE_ADDR']." \n\nBericht: \n$bericht", "From: $naam || $sitenaam");
echo "Bericht succesvol verzonden!";
 

wijzigd in :


mail($emailadres, $onderwerp, "Afzender: $_POST['naam'] \nEmail adres: $_POST['email'] \nWebsite: $_POST['site'] Onderwerp: \n$_POST['onderwerp'] \nIP: ".$_SERVER['REMOTE_ADDR']." \n\nBericht: \n$_POST['bericht']", "From: $_POST['naam'] || $_POST['sitenaam']");
echo "Bericht succesvol verzonden!";
 

Je moet variabelen namelijk altijd terug pakken met $_POST['xxxxx']. Gewoon de $string gebruiken werkte wel in PHP4, maar niet in PHP5

Let the BASS be louder
Xtremer    posted on 18-01-2009 20:33
Poster: Lead
En als je deze regel :



wijzigd in :



Je moet variabelen namelijk altijd terug pakken met $_POST['xxxxx']. Gewoon de $string gebruiken werkte wel in PHP4, maar niet in PHP5

 

Oke gedaan, maar ik krijg nu het volgende: LINK
Zijn er dingen die ik moet wijzigen in mijn cPanel of PHP My Admin?
DJ: www.djxtremer.nl - Portfolio: www.patrickheiloo.nl
Lead    posted on 18-01-2009 20:39
Nee, geen wijzigingen in je admin scherm, dat moet goed werken.

Maar als je verder nooit iets met PHP hebt gedaan kun je beter een volledig en veilig script ergens lenen. Er zitten nogal wat haken en ogen aan dit verhaal.

Ik denk dat ik ergens een tikfoutje heb gemaakt, wast staat er op regel 13 van je script ?

Instelling in Cpanel hebben te maken met je domein en niet met de scripting die je erop gebruikt.
PHPMyAdmin is de database beheer, ook daar hoef je (nog) niets te doen.
Let the BASS be louder
Mod edit by Lead on 18-01-2009 20:40 (54%)
Xtremer    posted on 18-01-2009 20:40
Ik heb inmiddels een werkend en beter contactformulier.

Ik ga nog even wat sleutelen aan de CSS en nog wat onzin uit de codes weghalen en dan moet het goed gaan. In iedergeval bedankt Lead!
DJ: www.djxtremer.nl - Portfolio: www.patrickheiloo.nl
jannickv    posted on 18-01-2009 23:20
uhm hier is een code van phphulp.
als je wil passen we die morgen samen naar jouw wensen aan moet je me maar adden op msn oid <mail>jannickvandaele@hotmail.cm</mail> Winking my eye deze heeft spamcheck en al die toestanden :D
a

<table width="760" border="0" cellspacing="10" cellpadding="0" align="center">
  <tr>
    <td align="center">

<?php
if (isset($_POST["op"]) && ($_POST["op"]=="send")) {

/******** START OF CONFIG SECTION *******/
  $sendto  = "";
  $subject = "Website Contact Enquiry";
// Select if you want to check form for standard spam text
  $SpamCheck = "Y"; // Y or N
  $SpamReplaceText = "*content removed*";
// Error message prited if spam form attack found
$SpamErrorMessage = "<p align=\"center\"><font color=\"red\">Malicious code content detected.
</font><br><b>Your IP Number of <b>".getenv("REMOTE_ADDR")."</b> has been logged.</b></p>";
/******** END OF CONFIG SECTION *******/


  $name = $HTTP_POST_VARS['name'];
  $email = $HTTP_POST_VARS['email'];
  $message = $HTTP_POST_VARS['message'];
  $headers = "From: $email\n";
  $headers . "MIME-Version: 1.0\n"
           . "Content-Transfer-Encoding: 7bit\n"
           . "Content-type: text/html;  charset = \"iso-8859-1\";\n\n";
if ($SpamCheck == "Y") {          
// Check for Website URL's in the form input boxes as if we block website URLs from the form,
// then this will stop the spammers wastignt ime sending emails
if (preg_match("/http/i", "$name")) {echo "$SpamErrorMessage"; exit();}
if (preg_match("/http/i", "$email")) {echo "$SpamErrorMessage"; exit();}
if (preg_match("/http/i", "$message")) {echo "$SpamErrorMessage"; exit();}

// Patterm match search to strip out the invalid charcaters, this prevents the mail injection spammer
  $pattern = '/(;|\||`|>|<|&|^|"|'."\n|\r|'".'|{|}|[|]|\)|\()/i'; // build the pattern match string
                           
  $name = preg_replace($pattern, "", $name);
  $email = preg_replace($pattern, "", $email);
  $message = preg_replace($pattern, "", $message);

// Check for the injected headers from the spammer attempt
// This will replace the injection attempt text with the string you have set in the above config section
  $find = array("/bcc\:/i","/Content\-Type\:/i","/cc\:/i","/to\:/i");
  $email = preg_replace($find, "$SpamReplaceText", $email);
  $name = preg_replace($find, "$SpamReplaceText", $name);
  $message = preg_replace($find, "$SpamReplaceText", $message);
 
// Check to see if the fields contain any content we want to ban
 if(stristr($name, $SpamReplaceText) !== FALSE) {echo "$SpamErrorMessage"; exit();}
 if(stristr($message, $SpamReplaceText) !== FALSE) {echo "$SpamErrorMessage"; exit();}
 
 // Do a check on the send email and subject text
 if(stristr($sendto, $SpamReplaceText) !== FALSE) {echo "$SpamErrorMessage"; exit();}
 if(stristr($subject, $SpamReplaceText) !== FALSE) {echo "$SpamErrorMessage"; exit();}
}
// Build the email body text
  $emailcontent = "
-----------------------------------------------------------------------------
   WEBSITE CONTACT ENQUIRY
-----------------------------------------------------------------------------

Name: $name
Email: $email
Message: $message

_______________________________________
End of Email
";
// Check the email address enmtered matches the standard email address format
 if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $email)) {
  echo "<p>It appears you entered an invalid email address</p><p><a href='javascript: history.go(-1)'>Click here to go back</a>.</p>";
}

 elseif (!trim($name)) {
  echo "<p>Please go back and enter a Name</p><p><a href='javascript: history.go(-1)'>Click here to go back</a>.</p>";
}


 elseif (!trim($message)) {
  echo "<p>Please go back and type a Message</p><p><a href='javascript: history.go(-1)'>Click here to go back</a>.</p>";


 elseif (!trim($email)) {
  echo "<p>Please go back and enter an Email</p><p><a href='javascript: history.go(-1)'>Click here to go back</a>.</p>";
}

// Sends out the email or will output the error message
 elseif (mail($sendto, $subject, $emailcontent, $headers)) {
  echo "<br><br><p><b>Thank You $name</b></p><p>We will be in touch as soon as possible.</p>";

}
}
else {
?>
<p align="center">Please complete all details of your enquiry<br>and we will get back to you shortly.</p>
<br>
<form method="post"><INPUT NAME="op" TYPE="hidden" VALUE="send">
  <table>
    <tr>
      <td><p>Name:</p></td>
      <td>
        <input name="name" type="text" size="30" maxlength="150">
      </td>
    </tr>
      <tr>
      <td><p>E-mail:</p></td>
      <td>
        <input name="email" type="text" size="30" maxlength="150">
      </td>
    </tr>

    <tr>
      <td valign="top"><p>Message:</p></td>
      <td><textarea name="message" cols="40" rows="6"></textarea></td>
    </tr>
    <tr><td></td> <td><input name="submit" type="submit" value="Send Message"></td></tr>
  </table>
</form>
<?php } ?>

   <p align="center"><font size="-2">Supplied by <a href="http://www.stevedawson.com">SteveDawson.com</a></font></p></td>
  </tr>
</table>
 
User edit by jannickv on 18-01-2009 @ 23:23:04 (1%)
Xtremer    posted on 18-01-2009 23:21
Poster: jannickv
uhm hier is een code van phphulp.
als je wil passen we die morgen samen naar jouw wensen aan Winking my eye deze heeft spamcheck en al die toestanden :D

 

Check deze LINK. Zoals je ziet werkt t al:P. Toch bedankt!
DJ: www.djxtremer.nl - Portfolio: www.patrickheiloo.nl





  This is an old Topic

No new postings for 5.958 days.
 Post CommentThat would be 198.6 months
or a whopping 16.3 years
You might consider opening a new topic or reply anyway by pressing the green button...


143 Users online: 23 Guests (120 Unknown)
Pages generated today : 55.951
Most visitors online this month : 380
Lifetime Pageviews since 2003 : 238.728.903