2010-11-23 4 views
0

http://makeupbysherry.com/contact.phpPHP Formulaire de contact ne fonctionne pas sur les solutions réseau

Formulaire de contact qui utilise PHP ne semble pas fonctionner et ne pas recevoir des courriels de la forme. J'ai essayé quelques e-mails différents, et l'hôte est sur Network Solutions. J'ai eu ce site sur un serveur de test sur GoDaddy et maintenant cela ne fonctionne pas sur Netsol.

Je ne sais pas quel est le problème, ce site a été transféré de Windows à l'hébergement unix ce matin et semble être en cours d'exécution, sauf cela. Une idée de ce qui se passe? Merci!

Bryan

Mise à jour:

<?php 
/* Set e-mail recipient */ 
$myemail = "[email protected]"; 

/* Check all form inputs using check_input function */ 
$name = check_input($_POST['name'], "Enter your name"); 
$email = check_input($_POST['email']); 
$subject = check_input($_POST['subject'], "Write a subject"); 
$message = check_input($_POST['message'], "Write your message"); 
$check .= implode(', ', $_POST['check']); 



/* If e-mail is not valid show error message */ 
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email)) 
{ 
    show_error("E-mail address not valid"); 
} 

/* If URL is not valid set $website to empty */ 
if (!preg_match("/^(https?:\/\/+[\w\-]+\.[\w\-]+)/i", $website)) 
{ 
    $website = ''; 
} 

/* Let's prepare the message for the e-mail */ 
$message = "Hello! 

Your contact form has been submitted by: 

Name: $name 
E-mail: $email 
Subject: $subject 

Message: $message 

Description: $check 

End of message 
"; 

/* Send the message using mail() function */ 
mail($myemail, $subject, $message); 

/* Redirect visitor to the thank you page */ 
header('Location: thanks.php'); 
exit(); 

/* Functions we used */ 
function check_input($data, $problem='') 
{ 
    $data = trim($data); 
    $data = stripslashes($data); 
    $data = htmlspecialchars($data); 
    if ($problem && strlen($data) == 0) 
    { 
     show_error($problem); 
    } 
    return $data; 
} 

function show_error($myError) 
{ 
?> 
    <html> 
    <body> 

    <b>Please correct the following error:</b><br /> 
    <?php echo $myError; ?> 

    </body> 
    </html> 
<?php 
exit(); 
} 
?> 
+0

Aller à serverfault.com – stillstanding

+0

essayer de poster le code, nous ne pouvons pas dire le contraire. – DampeS8N

+0

J'essaye toujours de faire venir quelqu'un pour m'aider parce que le truc de php.ini ne semble pas fonctionner. J'ai essayé cela et je n'ai toujours pas reçu les messages. Est-ce que le fait d'avoir des en-têtes inclut cela? Le gars de Netsol semblait le penser ... – XXXSkaPunk

Répondre

0

Vous devez généralement configurer votre formulaire de contact PHP avec les détails de connexion SMTP. Habituellement, un nom d'utilisateur et un mot de passe avec le nom du serveur SMTP sont requis pour que le script s'authentifie avant d'envoyer un e-mail. Ceci est activé pour empêcher les spammeurs d'utiliser le serveur de messagerie.

+0

Je ne sais pas comment le corriger dans le code actuel que j'ai. Je ne connais pas vraiment php. – XXXSkaPunk

1

Sous Unix PHP utilise sendmail pour envoyer des e-mails.

Étant donné que vous utilisez un système Unix, vous devez définir sendmail_path dans votre fichier php.ini et vous assurer que sendmail est installé.

Créer un nouveau fichier appelé dans le php.ini avec une ligne cgi-bin:
sendmail path = /usr/sbin/sendmail

+0

Avez-vous une chance de m'aider à faire cela? Je n'ai pas la moindre idée haha – XXXSkaPunk

Questions connexes