FRIHOSTFORUMSSEARCHFAQTOSBLOGSDIRECTORY
You are invited to Log in or Register a Frihost Account!

formulieren maken testen mislukt

 


Awiembaweb
Ik heb een vraag over het maken van formulieren:

Hij doet het namelijk nie... Crying or Very sad ...

Ik wil een klein tekststrookje maken met een submitknop.
Alles klopt gewoon, zoals in het HTML-bestand is gemaakt, maar...
Vervolgens test ik het en krijg ik dit bericht als ik op de verzendknop druk:

"this form is being submitted using e-mail.
Submitting this form will reveal your e-mail address
to the recipient, and will send the form data without encrypting it for
privacy. You may continue or cancel this submission.

"ok" "cancel" "

En als ik op de "ok" druk dan zie je outlook express enzo en dan wil die verbinden met hotmail en dat lukt dan vervolgens niet ofzo...

Volgens mijn broer kwam het door "localhost" ofzo...iets door de wampserver (apache)?

Ik wil de wampserver wel behouden, maar we weten dus niet precies wat er nou precies aan de hand is en hoe we dat kunnen terugdraaien. Ik weet niet eens hoe ik het zou kunnen terugdraaien als de wampserver er niet meer is (wat ik niet wil).

Heeft hier iemand een antwoord op?

Alleen probleemoplossende antwoorden graag, want anders reageren de echte computerfreaks straks niet meer. ..
rvec
Quote:
Alles klopt gewoon

das mooi Cool

Ik denk dat je eerst moet uitleggen wat er precies moet gebeuren, wat je in je html hebt staan en waarom je wamp server hebt draaien.
Awiembaweb
rvec wrote:
Quote:
Alles klopt gewoon

das mooi Cool

Ik denk dat je eerst moet uitleggen wat er precies moet gebeuren, wat je in je html hebt staan en waarom je wamp server hebt draaien.


Ik wou ff testen hoe dat met fromulieren zit. Ik heb wat HTML kennis, PHP en mysql kennis, maar over formulieren had ik nog maar weinig kennis dus vandaar dat ik daar nu mee bezig ben.

De wampserver heb ik draaien om mijn website vanaf mijn computer op het web te gooien. Via PHP-nuke Nederland leer ik wat over PHP en mysql en ....jaja...via het dummies boek...speciaal voor onervaren leken zoals mij. Dus ik gebruik niet alleen een website via frihost, maar ook via de wampserver. Of zoiets...

Ik weet dat je ook mysql en php kunt beheren met frihost, maar....blablabla

(ja, sorry ik heb bovenstaande een beetje warrig verteld...)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>
<body>
<form method="post" action="mailto:sqienie@gmail.com">
<em>dit tussen em dat is de vaste tekst</em>
<input type="text" size="20" maxlength="40" name="test">

<br>
<input type="submit" value="Verzenden"></form>
</body>
</html>
rvec
ik zou toch nog wat meer over forms en php gaan lezen als ik jou was.
http://www.w3schools.com/php/default.asp

Ten eerste moet je je action argument aanpassen als je geen outlook wilt opstarten. Wampserver is hier nog helemaal niet nodig omdat ik nergens php zie.

PHPNuke zou ik niet gebruiken, dan kan je beter eerst je eigen php schrijven en later een goed stuk software zoals joomla/mambo, drupal, phpbb3 of wordpress gaan lezen/aanpassen.
Awiembaweb
rvec wrote:
ik zou toch nog wat meer over forms en php gaan lezen als ik jou was.
http://www.w3schools.com/php/default.asp

Ten eerste moet je je action argument aanpassen als je geen outlook wilt opstarten. Wampserver is hier nog helemaal niet nodig omdat ik nergens php zie.

PHPNuke zou ik niet gebruiken, dan kan je beter eerst je eigen php schrijven en later een goed stuk software zoals joomla/mambo, drupal, phpbb3 of wordpress gaan lezen/aanpassen.


Ik wil enkelt een simpel formuliertje maken, m.b.v.: http://www.mijnhomepage.nl/htmlcursus/formulier-maken.php
Enkelt met HTML, dat kan toch?


De wampserver heb ik hierbij idd niet nodig. Dat weet ik. Maar deze is wel geinstalleerd op mijn computer en ik haal dit er liever niet af. Mogelijkerwijs speelt dit een rol bij de melding (volgens mijn broer dan).

Wat moet ik precies aanpassen van het action argument?
rvec
ik snap nog steeds je probleem niet. Je outlook is gewoon verkeerd geconfigureerd en kan geen verbinding maken.
Awiembaweb
rvec wrote:
ik snap nog steeds je probleem niet. Je outlook is gewoon verkeerd geconfigureerd en kan geen verbinding maken.


Maar als je normaal gesproken een formulier invuld op internet...dan gebuik je toch nooit oulook express? Dit wordt bij ij ook pas geopend na de melding en als ik dan op "ok" heb gedrukt.
rvec
als je normaal een formulier op het internet invult gebruik je ook niet alleen html. Meestal gebruik je daar php bij. Vandaar dat linkje eerder.
joostvane
Awiembaweb wrote:
rvec wrote:
ik snap nog steeds je probleem niet. Je outlook is gewoon verkeerd geconfigureerd en kan geen verbinding maken.


Maar als je normaal gesproken een formulier invuld op internet...dan gebuik je toch nooit oulook express? Dit wordt bij ij ook pas geopend na de melding en als ik dan op "ok" heb gedrukt.


Je kan nooit een dynamische pagina maken zonder html. Een formulier bestaat meestal uit twee delen, de input (het formuliertje) en daarna de verwerking. Je kan dit samen op één pagina stellen, of splitsen in twee.

Je zal eerst een formulier moeten maken, zoals je nu bezig bent. Gebruik ACTION om naar de tweede pagina te gaan (de verwerking). Op deze verwerking gebruik je dan de variablen die je in het html formuliertje hebt ingevuld en maakt daarmee een mail();.

Ik weet niet of die wamp server dat je op je pc hebt draaien die functie heeft. Gebruik liever je webspace van frihost?
grinta
9/10 dat je outlook nieteens gebruikt, en als je m toch gebruikt is m waarschijnlijk niet goed geconfigureerd.

hou er rekening mee dat er meerdere mensen op het internet surfen die geen outlook gebruiken of nieteens een mail-client gebruiken maar alles via een mailserver zoals hotmail of zo.

zoals al gezegd is, met een PHP scriptje kan je perfect mails sturen zonder dat er maar iets geinstalleerd moet zijn bij de gebruiker.
Smiddie
Hier is de code voor het PHP scripte waarmee je een formulier kan opsturen naar iemand en zonder dat je Outlook nodig hebt (achter $your_email_address= moet je dan je eigen e-mailadres invullen):

Code:
<?
$your_email_address="XXXXXX@hotmail.com";

if(empty($_GET) && empty($_POST)) {
   die('Ongeldige actie');
}

// Emular register_globals on
if (!ini_get('register_globals')) {
   $superglobales = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET);
   if (isset($_SESSION)) {
      array_unshift($superglobales, $_SESSION);
   }
   foreach ($superglobales as $superglobal) {
      extract($superglobal, EXTR_SKIP);
   }
}

// to prevent header injection
if (eregi("\r",$_POST['your_email_address']) || eregi("\n",$_POST['your_email_address'])){
     exit;
}

// kick anyone whoever tried to inject a header in the form
foreach( $_POST as $value ){
   if( strpos($value,'Content-Type:') !== FALSE ){
      exit;
   }
}


$fields = array_keys($_POST);

function headfunction($url) {
   header ("Location: $url");
}

// protect the variable $reserved_vars
if(isset($reserved_vars)) {
   unset($reserved_vars);
}
$reserved_vars = array("css_file", "background_color", "background_image", "text_color", "link_color", "visited_link_color", "active_link_color", "font_name", "font_size", "highlight_color", "required_fields", "after_url", "check_email_address", "subject", "your_email_address", "env_report", "owner_name", "autoresponse", "response_subject", "response_mail", "dodosmail_header_file", "dodosmail_footer_file");

function include_dodosmail_header($dodosmail_header_file) {
   global $reserved_vars;
   foreach($reserved_vars as $reserved_var) {
      global $$reserved_var;
   }

   if(is_file($dodosmail_header_file)) {
      include_once($dodosmail_header_file);
      return;
   } else {
      echo "<html>\n";
      echo "<head>\n";
      echo "<title>\n";
      echo "DodosMail\n";
      echo "</title>\n";
      if($css_file != "")
         echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"$css_file\">\n";
      echo "</head>\n";
      echo "<body bgcolor=\"$background_color\" background=\"$background_image\" text=\"$text_color\" link=\"$link_color\" vlink=\"$visited_link_color\" alink=\"$active_link_color\">\n";
      echo "<font face=\"$font_name\" size=\"$font_size\">\n";
   }
}

function include_dodosmail_footer($dodosmail_footer_file) {
   global $reserved_vars;
   foreach($reserved_vars as $reserved_var) {
      global $$reserved_var;
   }
   if(is_file($dodosmail_footer_file)) {
      include_once($dodosmail_footer_file);
      return;
   } else {
      echo "</font>\n</body>\n</html>";
   }
}

function dodosmail_error_handle($msg) {
   global $highlight_color;
   if(isset($highlight_color)) {
      $extra_begin = "<font color=\"".$highlight_color."\">";
      $extra_end = "</font>";
   } else {
      $extra_begin = "<span class=\"DodosMailErrorHighLight\">";
      $extra_end = "</span>";
   }

   return $extra_begin.$msg.$extra_end;
}

// checking required fields
// in case they used comma and space, replace
if(strstr($required_fields, ", ")) {
   $required_fields = str_replace(", ", ",", $required_fields);
} else {
   $required_fields = $required_fields;
}
$required_fields = explode(",", $required_fields);

for($i = 0; $i < count($required_fields); $i++) {
   $required_var_name = $required_fields[$i];
   if(empty($$required_var_name)) {
      include_dodosmail_header($dodosmail_header_file);
      echo "<p class=\"DodosMailError\">Fout! - het verplichte veld ".dodosmail_error_handle($required_var_name)." is niet ingevuld.\n";
      echo "<br /><br /><a href=\"javascript:history.back(1)\">Terug</a>\n";
      echo "</p>\n";
      include_dodosmail_footer($dodosmail_footer_file);
      exit;
   }
}
if($check_email_address == "yes" && !empty($email)) {
   if(!check_email($email)) {
      include_dodosmail_header($dodosmail_header_file);
      echo "<p class=\"DodosMailError\">Fout - het adres ".dodosmail_error_handle($email)." is niet geldig.\n";
      echo "<br /><br /><a href=\"javascript:history.back(1)\">Terug</a>\n";
      echo "</p>\n";
      include_dodosmail_footer($dodosmail_footer_file);
      exit;
   }
}


for($i = 0; $i < count($fields); $i++) {
   $actual_var = $fields[$i];
   if(in_array($actual_var, $reserved_vars)) {
      $inside_mail = $inside_mail;
   } else {
      if(is_array($$actual_var)) {
         $inside_mail.= "$actual_var: ";
         foreach($$actual_var as $actual_val) {
            $inside_mail.= "$actual_val ";
         }
         $inside_mail.= "\n";
      } else {
         $actual_val = stripslashes($$actual_var);
         $inside_mail.= "$actual_var: $actual_val\n";
      }
   }
}

// getting other information from the form
$cname = gethostbyaddr($_SERVER[REMOTE_ADDR]);
$inside_mail.=
"
-----------------------------------------------------------------------
 SENDER INFO:
 IP: $_SERVER[REMOTE_ADDR]
 Computer Name: $cname
 Browser Type: $_SERVER[HTTP_USER_AGENT]
 Page Referer: $_SERVER[HTTP_REFERER]
-----------------------------------------------------------------------
";






$headers .= "MIME-Version: 1.0\r\n";
$headers .= "X-Priority: 3\r\n";
$headers .= "X-MSMail-Priority: Normal\r\n";
$headers .= "X-Mailer: DodosMail 2.0 http://regretless.com/scripts/\r\n";
$headers .= "Content-type: text/plain; charset=\"iso-8859-1\"\r\n";
//$headers .= "Date: ".date("R")."\r\n";
$headers .= "From: $name <$email>\r\n";



$success = mail($your_email_address, $subject, $inside_mail, $headers);
if($success) {
   if($autoresponse == "yes") {
      $response_subject = stripslashes($response_subject);
      $response_mail = stripslashes($response_mail);
      mail($email, $response_subject, $response_mail, "From: $owner_name <$your_email_address>");
   }
   if($after_url == "") {
      // out put send info
      include_dodosmail_header($dodosmail_header_file);


      echo "<p>\n";
      
      echo "Het formulier is verzonden!</p><ul>";
      for($i = 0; $i < count($fields); $i++) {
         $actual_var = $fields[$i];
         if(in_array($actual_var, $reserved_vars))
            echo "";
         else {
            if(is_array($$actual_var)) {
               echo "<li>$actual_var: ";
               foreach($$actual_var as $actual_val) {
                  echo "$actual_val ";
               }
               echo "</li>\n";
            } else {
               $actual_val = stripslashes($$actual_var);
               echo "<li>$actual_var: $actual_val</li>\n";
            }
         }
      }
      echo "</ul>\n<p></p>";
      include_dodosmail_footer($dodosmail_footer_file);
      exit;
   } else {
   headfunction($after_url);
   }
} else {
   include_dodosmail_header($dodosmail_header_file);
   echo "<p class=\"DodosMailError\">Fout - Het formulier is tijdelijk niet bruikbaar, gebruik ".dodosmail_error_handle($your_email_address)." om contact op te nemen.\n";
   echo "<br /><br /><a href=\"javascript:history.back(1)\">Terug</a>\n";
   echo "</p>\n";
   include_dodosmail_footer($dodosmail_footer_file);
   exit;
}



function check_email($email) {
   if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $email)) ||
      (preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$email)) ) {
      return true;
   }
   return false;
}



?>


Deze code moet je dan in je HTML bestandje zetten:

Code:
<form id="form1" name="form1" method="post" action="mailformulier.php">
rvec
Die zou ik zeker niet gebruiken. Register globals is niet voor niks standaard uitgezet in php, en gaat er binnen kort helemaal uit.
Code:
if (eregi("\r",$_POST['your_email_address']) || eregi("\n",$_POST['your_email_address'])){

Daar sla je enorm de plank mis. Wat als ik mijn spul in $_GET['your_email_address'] stop?
zelfde hier:
Code:
// kick anyone whoever tried to inject a header in the form
foreach( $_POST as $value ){
   if( strpos($value,'Content-Type:') !== FALSE ){
      exit;
   }
}


Die eregi is trouwens onnodig omdat je geen regex zoekt maar gewoon een string in een string. eregi of preg is dan onnodig sloom.

Wat ik ook niet snap is dat er verschillende checks zijn voor mail adressen, maar dat ze op verschillende variabelen worden gebruikt.

Ook moet je je error reporting eens aan zetten. Er komt een aardig lijstje notices naar voren.
atleetalie
Tja, beginners fout, ooit vond ik deze pagina http://www.dagondesign.com/articles/secure-php-form-mailer-script/#installation dat zou het moeten doen, ik denk dat iets dergelijks wellicht te uitgebreid is, maar wel makkelijk. Wellicht heb je er iets aan, wellicht ook niet. Dat eerste script van jou was, sorry dat ik het zeg, weinig meer dan mailto: met deze tekst. Maar goed toegegeven daar liep ik zelf ook tegenaan. Succes in ieder geval met het script, ohja, nog een andere oplossing: zoek een webservice ook een weg met weinig weerstand,maar om te beginnen werkt het best.
Smiddie
rvec wrote:
Die zou ik zeker niet gebruiken. Register globals is niet voor niks standaard uitgezet in php, en gaat er binnen kort helemaal uit.
Code:
if (eregi("\r",$_POST['your_email_address']) || eregi("\n",$_POST['your_email_address'])){

Daar sla je enorm de plank mis. Wat als ik mijn spul in $_GET['your_email_address'] stop?
zelfde hier:
Code:
// kick anyone whoever tried to inject a header in the form
foreach( $_POST as $value ){
   if( strpos($value,'Content-Type:') !== FALSE ){
      exit;
   }
}


Die eregi is trouwens onnodig omdat je geen regex zoekt maar gewoon een string in een string. eregi of preg is dan onnodig sloom.

Wat ik ook niet snap is dat er verschillende checks zijn voor mail adressen, maar dat ze op verschillende variabelen worden gebruikt.

Ook moet je je error reporting eens aan zetten. Er komt een aardig lijstje notices naar voren.


Ik heb dat script niet gemaakt. Zo heb ik het gevonden op het net. Zoveel verstand heb ik nog niet eens van PHP. Maar hij werkt voor mij perfect
rvec
http://www.phpf1.com/product/contact-form-script.html
Je zou die eens moeten proberen. Is heel eenvoudig in gebruik, en wel veilig.
Het kan beter, maar dit is het beste wat ik zo snel kon vinden.
Related topics

Formulier
[Vraag] Kan je een aparte ftp-account maken.....
Wat vind jij van homoseksuelen?
Hoe mijn site volledig zichtbaar maken via google
Is het makkelijk zelf een forum te maken i.p.v. een standaar

Google Talk
Vogelgriep - De pest van de 21ste eeuw?
Testen van een phpbb
Backup maken van database [opgelost]
het maken van een kleine server

IRC channel maken
Videobewerking op PC
aanvraag voor het maken van een site
zouden jullie mijn helpdesk willen testen??
programeren
Reply to topic    Frihost Forum Index -> Dutch -> Computers en Techniek

FRIHOST HOME | FAQ | TOS | ABOUT US | CONTACT US | SITE MAP
© 2005-2007 Frihost, forums powered by phpBB.