Contactformulier werkt niet (PHP) bij Hosting2go

Pagina: 1
Acties:
  • 332 views

Acties:
  • 0 Henk 'm!

Anoniem: 269425

Topicstarter
Hallo mensen,

ik schaam me diep, ik maak al een paar jaar websites voor mensen, ben niet een expert op PHP gebied maar krijg de meeste scripten wel draaiend.

Nu stuit ik ineens op een probleem, omdat ik voor iemand een contactformulier moet maken, ik dacht een leuk scriptje gevonden te hebben maar het werkt niet.

Bijna 18 andere php contact form scripts geprobeerd en bijna twee weken van ergernis verder, probeer ik uit wanhoop hier hulp te krijgen :-)

De hosting waar het script op moet gaan werken is Hosting2go, en het probleem is dat het formulier aangeeft dat de inhoud verzonden is, alleen komt er bij mij nooit een mailtje aan.

de pagina die de inhoud van het conatctformulier zou moeten verzenden luid als volgt:

<?php?>


<!-- ***** Configuration *************************************************** -->

<?php

$contact_form_field_name = 'Name:';
$contact_form_field_email = 'E-mail:';
$contact_form_field_subject = 'Subject:';
$contact_form_field_message = 'Message:';
$contact_form_field_number = 'Turing number:';
$contact_form_field_prompt = 'Enter the number displayed above';

$contact_form_button = 'Submit';

$contact_form_sent = 'Message sent';
$contact_form_not_sent = 'Message not sent';
$contact_form_invalid_data = 'Please, correct the fields marked with red';

?>


<div class="contact_form">


<!-- ***** PHP ************************************************************* -->

<?php

// ***** Functions *****

function contact_form_post($name)
{
return isset($_POST[$name]) ? htmlentities($_POST[$name], ENT_COMPAT) : '';
}

// ***** Send Mail *****

if (isset($_POST['Contact']))
{
if (get_magic_quotes_gpc() && !function_exists('strip_slashes_deep'))
{
function strip_slashes_deep($value)
{
if (is_array($value)) return array_map('strip_slashes_deep', $value);
return stripslashes($value);
}

$_GET = strip_slashes_deep($_GET);
$_POST = strip_slashes_deep($_POST);
$_COOKIE = strip_slashes_deep($_COOKIE);
}

$patern_aux1 = "(\\w+(-\\w+)*)";
$patern_aux2 = "($patern_aux1\\.)*$patern_aux1@($patern_aux1\\.)+$patern_aux1";

$valid_name = isset($_POST['Name' ]) && trim($_POST['Name' ]);
$valid_email = isset($_POST['Email' ]) && preg_match("/^$patern_aux2$/iX",

$_POST['Email']);
$valid_subject = isset($_POST['Subject']) && trim($_POST['Subject']);
$valid_message = isset($_POST['Message']) && trim($_POST['Message']);
$valid_number = isset($_POST['Number' ]) && isset($_SESSION['Number']) &&

$_POST['Number'] == $_SESSION['Number'];

if (!$valid_name) $contact_form_field_name = "<em>$contact_form_field_name </em>";
if (!$valid_email) $contact_form_field_email = "<em>$contact_form_field_email </em>";
if (!$valid_subject) $contact_form_field_subject = "<em>$contact_form_field_subject</em>";
if (!$valid_message) $contact_form_field_message = "<em>$contact_form_field_message</em>";
if (!$valid_number) $contact_form_field_number = "<em>$contact_form_field_number </em>";

if ($valid_name && $valid_email && $valid_subject && $valid_message && $valid_number)
{
$error_reporting = error_reporting(E_ERROR | E_PARSE);
$mail_sent = mail($contact_form_your_email,
$_POST['Subject'],
$contact_form_message_prefix . $_POST['Message'],
"To: $contact_form_your_name <$contact_form_your_email>\r\n" .
"From: {$_POST['Name']} <{$_POST['Email']}>\r\n");
error_reporting($error_reporting);

if ($mail_sent)
echo "<div class=\"error\"><em> $contact_form_sent </em></div>";
else echo "<div class=\"error\"><em class=\"error\">$contact_form_not_sent</em></div>";
if ($mail_sent) $_POST = array();
}
else echo "<div class=\"contact_form\"><div

class=\"error\"><em>$contact_form_invalid_data</em></div></div>";
}

$_SESSION['Number'] = str_pad(rand(0, 9999), 4, '0', STR_PAD_LEFT);

?>


<!-- ***** IE Patch ******************************************************** -->

<!--[if IE]><style type="text/css"> div.contact_form div.input input { margin-top: -1px;

margin-bottom: -1px; } </style><![endif]-->
<!--[if IE]><style type="text/css"> div.contact_form div.input textarea { margin-top: -1px;

margin-bottom: -1px; } </style><![endif]-->


<!-- ***** XHTML *********************************************************** -->

<?php if ( $contact_form_xhtml) { ?>

<form method="post" action="<?=$_SERVER['REQUEST_URI'];?>">
<table>

<tr><th><?=$contact_form_field_name; ?></th><td><div class="input"><input name=

"Name" type="text" value="<?=contact_form_post( 'Name');?>" /></div></td></tr>
<tr><th><?=$contact_form_field_email; ?></th><td><div class="input"><input name=

"Email" type="text" value="<?=contact_form_post( 'Email');?>" /></div></td></tr>
<tr><th><?=$contact_form_field_subject;?></th><td><div class="input"><input

name="Subject" type="text" value="<?=contact_form_post('Subject');?>"

/></div></td></tr>
<tr><th><?=$contact_form_field_message;?></th><td><div class="input"><textarea

name="Message" cols="35"

rows="6"><?=contact_form_post('Message');?></textarea></div></td></tr>

<tr><th><?=$contact_form_field_number;?></th><td>
<div class="input" style="float: left;"><input type="text" name="Number"

autocomplete="off" /></div>
 
<img width="60" height="17"

src="<?=$contact_form_image_url;?>?sname=<?=session_name();?>&rand=<?=rand();?>" alt=""

/>
<br style="clear: both" />
<small><?=$contact_form_field_prompt;?></small>
</td></tr>

<tr><th></th><td><input id="submit_contact" class="submit" type="submit" name="Contact"

value="<?=$contact_form_graphic_button ? '' : $contact_form_button;?>" /></td></tr>

</table>
</form>

<?php } ?>


<!-- ***** HTML ************************************************************ -->

<?php if (!$contact_form_xhtml) { ?>

<form method="post" action="<?=$_SERVER['REQUEST_URI'];?>">
<table>

<tr><th><?=$contact_form_field_name; ?></th><td><div class="input"><input name=
"Name" type="text" value="<?=contact_form_post( 'Name');?>" ></div></td></tr>
<tr><th><?=$contact_form_field_email; ?></th><td><div class="input"><input name=
"Email" type="text" value="<?=contact_form_post( 'Email');?>" ></div></td></tr>
<tr><th><?=$contact_form_field_subject;?></th><td><div class="input"><input
name="Subject" type="text" value="<?=contact_form_post('Subject');?>"

></div></td></tr>
<tr><th><?=$contact_form_field_message;?></th><td><div class="input"><textarea

name="Message" cols="35"
rows="6"><?=contact_form_post('Message');?></textarea></div></td></tr>
<tr><th><?=$contact_form_field_number;?></th><td>
<div class="input" style="float: left;"><input type="text" name="Number"

autocomplete="off"></div>
 
<img width="60" height="17" src="<?=$contact_form_image_url;?>?sname=<?=session_name();?>"

alt="">
<br style="clear: both">
<small><?=$contact_form_field_prompt;?></small>
</td></tr>
<tr><th></th><td><input id="submit_contact" class="submit" type="submit" name="Contact"
value="<?=$contact_form_graphic_button ? '' : $contact_form_button;?>"></td></tr>
</table></form><?php } ?></div>

Iemand misschien die weet waar mijn probleem nu in zit, of weet wat ik fout doe?
Ik word langzamerhand gek hiervan, ik heb toch echt goed lopen zoeken via google, maar kom er alleen niet uit (ok ik geef het eerlijk toe :9~ )

Acties:
  • 0 Henk 'm!

  • Joshua
  • Registratie: Juli 2005
  • Laatst online: 12-06 22:54
Misschien handig om alles even tussen de [code] tags te zetten.
Wat gebeurt er trouwens als je gewoon eens debugged? Oftewel kijken of de functie mail() wel goed werkt? Dit kun je doen door bijvoorbeeld een test mailtje te sturen naar jezelf:

PHP:
1
mail("jij@domein.nl","Testje","Test bericht");

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
En toch is het in PRG niet de bedoeling dat je een lap code dumpt en dat wij wel even de fout aanwijzen. Zie daarvoor ook onze Programming Beleid Quickstart. Ook doen wij geen support op code van derden, daarvoor neem je het best gewoon contact op met de auteur(s).

Ik zie dat je nieuw bent hier; welkom in dat geval :w
Neem dan ook even onze Korte FAQ en Algemene gedragsregels (Netiquette) door (ja, het is veel leesvoer, maar wel de moeite waard voor een prettig verblijf hier :) ).

Tot slot; als je code post; post dan enkel relevante code en gebruik code tags. Dat maakt het geheel een stuk duidelijker. Waar spike op doelt is dat we ook een beetje verwachten dat je je code eerst zélf debugged (Debuggen: Hoe doe ik dat?) voordat je hier een topic opent. Kun je dat niet en mis je daarvoor de ervaring of kennis dan is het aan te raden eerst even een tutorial of "2" door te nemen zodat je in ieder geval bekend bent met de beginselen van de taal van je keuze. Daarmee had je je het volgende meteen bespaard:
Anoniem: 269425 schreef op dinsdag 29 juli 2008 @ 23:39:
Bijna 18 andere php contact form scripts geprobeerd en bijna twee weken van ergernis verder

[ Voor 72% gewijzigd door RobIII op 30-07-2008 00:04 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Dit topic is gesloten.