Contact formulier op website versturen met sendmail.exe

Status
Niet open voor verdere reacties.
Als ik zeg kant en klaar , bedoel ik dat ook twee websites werken al weer..
Ik ben ook een vrijwilliger op mijn eigen consumenten website, als iemand mij mailt dat ie via internet bestolen is ga ik die persoon geen zelf studie advies geven en ook niet aanraden om google te gebruiken..
die krijgt gelijk een antwoord kant en klaar met elke link nodig om het aan te geven, een kant en klaar aangifte formulier een link naar een rechtskundige die pro bono ook advies kan geven en indien nodig ook actief kan helpen..
En ik heb er een dagtaak aan op mijn leeftijd..
Mij hoor je niet klagen, het is wat ik doe, mensen helpen, net als jij
 
Misschien moet je gewoon blij zijn dat je al geholpen wordt, en een stappenplan krijgt toegereikt.
Als ik niet weet hoe ik de olie van mijn auto moet bijvullen, dan bel ik even mijn neef op die 30km verder woont die het kan uitleggen. Hij komt dan voor dit simpele dingetje echt niet helemaal naar mijn huis toe.

Dus ik zie ook niet in waarom ik een kant-en-klaar antwoord moet geven met code die je direct kan installeren.
Soms moet je gewoon wat moeite doen, en wees blij dat ik uiteindelijk aangeeft wat je moet zoeken en wat je moet vervangen. Dan is het niet eens meer programmeren, maar gewoon logisch kijken. Minuutje werk hoogstens.......

Ik ben benieuwd naar je oplossing.

- Sla je mijn advies nou in de wind (heeft me ook tijd gekost om het uit te zoeken)? En ga je nou tijd verspillen om iets anders te installeren? (en dan weet ik nog niet eens hoe dat script van die IT-er eruit ziet)
- Of heb je toch gezien hoe je het nou werkend krijgt aan de hand van mijn post?

Nieuwsgierig!
 
Laatst bewerkt:
in een ander geval als iemand graag met php stoeien wil is dat ook een prima manier, ik heb er gewoon geen tijd voor en ook geen zin meer in..
bij deze hoefde ik alleen het e-mail adres in het php bestand in te vullen , en de link in het html menu aan te passen en klaar

Dit is wat ik heb gekregen, of ie het nu zelf geschreven heeft of ergens vandaan geplukt ik weet het niet maar het werkt als een tierelier en ik heb alles al weer draaien (er zit ook een contact formulier in html bij)

verzenden:
PHP:
<?php
if(isset($_POST['email'])) {
 
    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "xxxxx@xxxx.xx";
    $email_subject = "Your email subject line";
 
    function died($error) {
        // your error code can go here
        echo "We are very sorry, but there were error(s) found with the form you submitted. ";
        echo "These errors appear below.<br /><br />";
        echo $error."<br /><br />";
        echo "Please go back and fix these errors.<br /><br />";
        die();
    }
 
 
    // validation expected data exists
    if(!isset($_POST['first_name']) ||
        !isset($_POST['last_name']) ||
        !isset($_POST['email']) ||
        !isset($_POST['telephone']) ||
        !isset($_POST['comments'])) {
        died('We are sorry, but there appears to be a problem with the form you submitted.');       
    }
 
     
 
    $first_name = $_POST['first_name']; // required
    $last_name = $_POST['last_name']; // required
    $email_from = $_POST['email']; // required
    $telephone = $_POST['telephone']; // not required
    $comments = $_POST['comments']; // required
 
    $error_message = "";
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
 
  if(!preg_match($email_exp,$email_from)) {
    $error_message .= 'The Email Address you entered does not appear to be valid.<br />';
  }
 
    $string_exp = "/^[A-Za-z .'-]+$/";
 
  if(!preg_match($string_exp,$first_name)) {
    $error_message .= 'The First Name you entered does not appear to be valid.<br />';
  }
 
  if(!preg_match($string_exp,$last_name)) {
    $error_message .= 'The Last Name you entered does not appear to be valid.<br />';
  }
 
  if(strlen($comments) < 2) {
    $error_message .= 'The Comments you entered do not appear to be valid.<br />';
  }
 
  if(strlen($error_message) > 0) {
    died($error_message);
  }
 
    $email_message = "Form details below.\n\n";
 
     
    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }
 
     
 
    $email_message .= "First Name: ".clean_string($first_name)."\n";
    $email_message .= "Last Name: ".clean_string($last_name)."\n";
    $email_message .= "Email: ".clean_string($email_from)."\n";
    $email_message .= "Telephone: ".clean_string($telephone)."\n";
    $email_message .= "Comments: ".clean_string($comments)."\n";
 
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);  
?>
 
<!-- include your own success html here -->
 
Thank you for contacting us. We will be in touch with you very soon.
 
<?php
 
}
?>

en de html:

HTML:
<form name="contactform" method="post" action="sendmail.php">
<table width="450px">
<tr>
 <td valign="top">
  <label for="first_name">First Name *</label>
 </td>
 <td valign="top">
  <input  type="text" name="first_name" maxlength="50" size="30">
 </td>
</tr>
<tr>
 <td valign="top"">
  <label for="last_name">Last Name *</label>
 </td>
 <td valign="top">
  <input  type="text" name="last_name" maxlength="50" size="30">
 </td>
</tr>
<tr>
 <td valign="top">
  <label for="email">Email Address *</label>
 </td>
 <td valign="top">
  <input  type="text" name="email" maxlength="80" size="30">
 </td>
</tr>
<tr>
 <td valign="top">
  <label for="telephone">Telephone Number</label>
 </td>
 <td valign="top">
  <input  type="text" name="telephone" maxlength="30" size="30">
 </td>
</tr>
<tr>
 <td valign="top">
  <label for="comments">Comments *</label>
 </td>
 <td valign="top">
  <textarea  name="comments" maxlength="1000" cols="25" rows="6"></textarea>
 </td>
</tr>
<tr>
 <td colspan="2" style="text-align:center">
  <input type="submit" value="Submit">   
 </td>
</tr>
</table>
</form>
 
Laatst bewerkt door een moderator:
Er zijn ook php-tags en een bewerken-functie op het forum, zou je die willen gebruiken? :)
Dat maakt het voor ons beter leesbaarder, en je ziet ook meteen aan de kleurstyling of het correct is. Plus dat we regelnummertjes zien.


Wederom heeft dit script ook hetzelfde probleem met betreft de controle op e-mail. Ook piet+werk@gmail.com evenals
pietje@museum.amsterdam zal al direct geweigerd worden. De laatste omdat er maar naar max. vier letters gekeken worden.
(lol, zelfs dit forum gaat er op zijn plaat met de automatische link :p)

Maar waarom een nieuw script, als je al een enkel ding hoeft aan te passen om de error eruit te halen.
En ik denk dat je met logisch kijken nu wel moet snappen wat je moet veranderen.
Je moet in je oude script ook clean_string() toepassen.

Het ligt er aan welke je wilt gebruiken. De nieuwe kan ook, maar dan moet je toch wel wat revisies uitvoeren.

Misschien nog even een tipje:
Tabellen voor website ook heel erg niet meer van deze tijd.
Dus zorg ervoor dat je bij blijft met HTML en CSs kennis, of installeer voor het gemak Wordpress, waarmee je een kant-en-klare site kan opbouwen zonder programmeerkennis. Kost je een avondje spelen om het te ontdekken, maar dat is het zeker waard. :)
 
Laatst bewerkt:
Ik ben zo vriendelijk geweest de laatste reacties te verwijderen.

Het probleem van DirkQ is opgelost en de discussie gaat verder over iets dat gewoon vermeden had kunnen worden als jullie allebei rustig hadden gelezen wat ieders bedoeling was.

Als iemand aangeeft geen verstand van PHP te hebben, wees dan zo vriendelijk om het (in dit geval simpele) werk even voor diegene te doen. Op die 5% extra wijzigingen komt het dan ook niet meer aan. ;)

Verder is het inderdaad nog steeds geen waterdicht script, Dirk doet er verstandig aan het door iemand te laten controleren (en aanpassen) die wel de benodigde PHP kennis heeft. De kans bestaat namelijk dat het script weer niet gaat werken (Of dat de mails wel verstuurd worden maar door spamfilters afgevangen worden).

Met vriendelijke groet,

Stefan (Tha Devil)
Moderator Helpmij.nl
 
wat hier boven gezegt wordt klopt ,
Warning
This function was DEPRECATED in PHP 5.3.0, and REMOVED in PHP 7.0.0.
NU volgende je spreekt over een .exe file nu standaart word deze niet uitgevoerd in php.
Nu php laat toe alles aan te passen dus ook extentie zie php.ini
Dus zal je eens moeten zoeken of er in je php.ini geen .php en ernaast ook nog .exe staat (wel knap gevonden)
Het doel zal geweest zijn beveiligen en zo niemand toe te laten .php te laten bijvoegen omdat deze niet draaien en dus .exe wel als php dan...
 
Als iemand aangeeft geen verstand van PHP te hebben, wees dan zo vriendelijk om het (in dit geval simpele) werk even voor diegene te doen. Op die 5% extra wijzigingen komt het dan ook niet meer aan.
Je weet dat je dat niet kan eisen, als je de post even terugleest die er weggesnoeid is. (kan ik zo terug toveren hoor) ;)
En de oplossing heb ik ook laten zien. Maar blijkbaar werd die oplossing een eindje terug ook genegeerd.
Het enige wat hij hoefde te doen was kopiëren/plakken en klaar! (waarom zou ik dat nog moeten doen? Ik ben hier vrijwillig, en ik heb geen tijd om het hele script aan te passen, in te pakken etc.) we mogen al blij zijn dat ik een stappenplan geef.

In ieder geval hoop ik dat hij zijn nieuwe script laat controleren. Met PHP moet je gewoon veiligheid voorop hebben staan, en niet zomaar iets installeren.
Iedereen zou eens moeten weten hoeveel sites er per dag geïnfecteerd worden, en hoeveel andere sites daarin meegesleurd kunnen worden. Dat is ook één van mijn punten, welke ik wou benadrukken.

In ieder geval was het niet de bedoeling geweest dat alles hier moest geëscaleren.
 
Laatst bewerkt:
@kenikavanbis: Even terug te komen op die sendmail.exe wat hij noemt in de titel. Ik weet niet of het een typfoutje was (sendmail.exe => sendmail.php) en of hij anders echt sendmail.exe bedoelt.
Binnen Linux bestaat er inderdaad een programma (binairy) die sendmail heet, en door PHP aangeroepen wordt. Misschien zocht hij zoiets voor Windows, maar dat kan je natuurlijk niet op een Shared Hosting installeren. Maar goed, dat had hij dan niet kunnen weten.....
 
Ik heb niks meer gehoord? Ik neem aan dat het probleem opgelost is, en dat Dirk nu een veilig en werkend script heeft?
 
Ik ga er maar van uit. Jammer dat er geen terugkoppeling volgt of een 'dankjewel'! .. :(
Ik hoop maar dat het script nu veilig is.
 
PHP4U: Je kunt het ook overdrijven, we weten nu wel dat je gepikeerd bent. Jouw laatste, suggestieve, reacties zijn niet nodig.
 
Sorry, ik ben flink ziek geweest, het is in elk geval opgelost
 
PHP4U: Je kunt het ook overdrijven, we weten nu wel dat je gepikeerd bent. Jouw laatste, suggestieve, reacties zijn niet nodig.
Ik wou gewoon feedback terug. Vrij logisch en netjes, en die heb ik ook gekregen.
Helaas gebeurt het soms dat we niks meer horen. En dit heeft niks maar dan ook niks met 'gepikeerd zijn' te maken, laat staan met overdrijven. Gene idee hoe je daar in hemelsnaam bij komt.

Maar goed het probleem is opgelost gelukkig.
 
Laatst bewerkt:
Ik weet niet of ik hier iets kan zeggen zonder iemand dan ook te schofferen ;-) aangezien perfect uitdrukken ook lastig is.

Maar meneer PHP4U ;-)....

U slaat wel degelijk stappen over in de uitleg ;-).

Maar meer nog denk ik dat u probeert onderwijs te geven in plaats van een kant-en-klaar antwoord, u wilt dat iemand zelf de puzzelstukjes samenvoegt.

Dat heet "onderwijs geven" niet "iemand helpen". Ja ik snap dat wel, dat komt van de gedachte "Geef iemand een hengel, niet een vis".

Maar het is alsof een advocaat jou een wetboek onder de neus geeft in plaats van te zeggen wat je moet doen.

Je zou je zelf ook veel tijd hebben gescheeld als je direct het kant-en-klare antwoord had gegeven, je was dan in één bericht klaar geweest in plaats van dat je elke keer net een beetje meer toevoegt om het antwoord completer te maken, om dan uiteindelijk tot 95% te komen en dan heeft de persoon al iemand anders ingeschakeld.

Want elke keer wil je dat iemand het "zelf" doet, iets "bij leert".

Maar vervolgens vraag je "waarom het hele script vervangen in plaats van één regel?" maar dat heeft de persoon zelf niet besloten, dat heeft hij iemand anders laten doen. Hij vroeg om een dienst, niet om onderwijs of instructies om het zelf te doen voorbij waar hij toe in staat was.

Ook het vervangen van tabellen door CSS gaat ver voorbij de hulpvraag en heel erg ver voorbij waar deze persoon zelf toe in staat zou zijn zomaar eventjes (of pas na 30 jaar studie dus) -- en als hij het al zou uitvoeren zou het door iemand anders gebeuren.

En ik geef al te veel "toe" hier aan, het is niet eens nodig. Iemand vroeg om het vervangen van een band, niet om een nieuwe auto, en ook niet eens om de kennis voor het vervangen van die band ;-). Hij wilde het best zelf uitvoeren, maar hij had wel exacte instructies nodig en die weigerde je te geven. Hij vroeg dus om kennis, niet om les.
 
Het is ook Helpmij.nl en geen Scriptvoorafhaalbalie.nl. We mogen al blij zijn dat ik dit vrijwillig doe, dus je hele bloemlezing is echt overbodig. Het antwoord had ik al enkele keren gegeven.

Zo werk ik al 15 jaar op diverse forums en nooit klachten gehad.

Maar ik ga niet verder in discussie meer, want dat is zinloos omdat de persoon al geholpen is.

Vrolijk kerstfeest verder!
 
Laatst bewerkt:
Zeg hou ff op PHP4U aan te vallen, ik was de gene die over de schreef is gegaan.
Bovendoen PHP4U en ik hebben met elkaar gemaild en er is verder geen probleem meer..
koest dus
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan