Script PHP et IIS
Gratfouille
Messages postés
8
Statut
Membre
-
Gratfouille Messages postés 8 Statut Membre -
Gratfouille Messages postés 8 Statut Membre -
Bonjour à tous,
je suis nouveau sur le forum et viens vers vous pour m'aider... :)
J'ai installer un formulaire PHP sur un serveur IIS et voilà ce que j'obtiens.
http://gratfouille.levillage.org/formulairephp.jpg
J'ai déjà sur ce serveur un forum PHPBB2 qui tourne donc le PHP est bien fonctionnel, mais il doit me manquer quelques chose.
Merci d'avance pour votre aide
je suis nouveau sur le forum et viens vers vous pour m'aider... :)
J'ai installer un formulaire PHP sur un serveur IIS et voilà ce que j'obtiens.
http://gratfouille.levillage.org/formulairephp.jpg
J'ai déjà sur ce serveur un forum PHPBB2 qui tourne donc le PHP est bien fonctionnel, mais il doit me manquer quelques chose.
Merci d'avance pour votre aide
A voir également:
- Script PHP et IIS
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Expert php pinterest - Télécharger - Langages
16 réponses
ÿÀ�Ñú�ÿÄ�±������������������������� ��!U1Ñ"’“ÓAQ2#³Tt”5SaBRÔqb3$‘rE¡±C¤Á£����!1AQaq"ð‘¡±Á2BRÑñbár‚¢²’#3ScÂÒâò³ÿÚ���?�ýR€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€ �€
Éï|uzµN(ú‘K)œ±”ŸöÊ1ffúŠtsŸ›ûi=úÑÎ~n·í¤÷èG9ùºß¶“ß çæë~ÚO~€tsŸ›ûi=úÑÎ~n·í¤÷èG9ùºß¶“ß çæë~ÚO~€tsŸ›ûi=úÑÎ~n·í¤÷èG9ùºß¶“ß çæë~ÚO~€tsŸ›ûi=úÑÎ~n·í¤÷èG9ùºß¶“ß çæë~ÚO~€tsŸ›ûi=ú—+^Ý@žh%ŠÄ¥0Bq“iÈÎÄòÈÞXþ¤Š…�€ �€ �€ �€ �€ �€ �€ �€ �€ >mÈy#Ä|É™ÞÖþ%Ž¡FLŠ7xÚüö!{+WH
voici une toute petite partie de ce que je vois en inspectant le code source en clic droit
<img style="cursor: -moz-zoom-in;" alt="http://gratfouille.levillage.org/formulairephp.jpg" src="http://gratfouille.levillage.org/formulairephp.jpg" width="458">
et voici le code complet de ta page vu par firebug...
Bonjour hani_
Je crois que tu n'as pas compris que le lien de gratfouille n'est pas sur sa page, mais sur une capture d'écran de sa page, c'est à dire une image.
Je crois que tu n'as pas compris que le lien de gratfouille n'est pas sur sa page, mais sur une capture d'écran de sa page, c'est à dire une image.
ben forcement dit comme ça...
dans ce cas si je peut pas faire grand chose... les indices c'est le code qui me les donnes... sans code pas d'indices sans indices pas de solutions possibles
dans ce cas si je peut pas faire grand chose... les indices c'est le code qui me les donnes... sans code pas d'indices sans indices pas de solutions possibles
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alors, mon premier problème est résolu, il a fallu changer tous les <? par <?php
Maintenant, mon formulaire ne veut pas envoyer...
Voici le code source
Maintenant, mon formulaire ne veut pas envoyer...
Voici le code source
<?php
// On vérifie si la fonction ini_set() a été désactivée...
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i", "$desactive") == 0) {
// Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
ini_set("error_reporting" , "E_ALL & ~E_NOTICE");
}
// Vérifier que le formulaire a été envoyé...
if (isset($_POST['envoi'])) {
//On commence une session pour enregistrer les variables du formulaire...
session_start();
$_SESSION['champ1'] = $_POST['champ1'];
$_SESSION['champ2'] = $_POST['champ2'];
$_SESSION['champ3'] = $_POST['champ3'];
$_SESSION['champ4'] = $_POST['champ4'];
$_SESSION['champ5'] = $_POST['champ5'];
$_SESSION['zone_email1'] = $_POST['zone_email1'];
//Enregistrement des zones de texte...
$_SESSION['zone_texte1'] = $_POST['zone_texte1'];
// Définir l\'icone apparaissant en cas d\'erreur...
// Définir sur 0 pour afficher un petit x de couleur rouge.
// Définir sur 1 pour afficher l\'image d\'une croix rouge telle que celle utilisée dans l\'assistant
// Si vous utilisez l\'option 1, l\'image de la croix rouge \'icone.gif\' doit se trouver dans le répertoire \'images\',
// ce dernier devant se trouver au même niveau que votre formulaire...
$flag_icone = 0;
// On vérifie si $flag_icone est défini sur 0 ou 1...
if ($flag_icone == 0) {
$icone = "<b><font size=\"3\" face=\"Arial, Verdana, Helvetica, sans-serif\" color=\"#CC0000\">x</font></b>";
} else {
$icone = "<img src=\"images/icone.gif\"";
}
// Définir l'indicateur d'erreur sur zéro...
$flag_erreur = 0;
// N'envoyer le formulaire que s'il n'y a pas d'erreurs...
if ($flag_erreur == 0) {
// Addresse de réception du formulaire
$email_dest = "mail@orange.fr";
$sujet = "Demande d'étude";
$entetes ="MIME-Version: 1.0 \n";
$entetes .="From: Société<mail@orange.fr>\n";
$entetes .="Return-Path: Société<mail@orange.fr>\n";
$entetes .="Reply-To: Société<mail@orange.fr>\n";
$entetes .="Content-Type: text/html; charset=iso-8859-1 \n";
$partie_entete = "<html>\n<head>\n<title>Formulaire</title>\n<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>\n</head>\n<body bgcolor=#FFFFFF>\n";
//Partie HTML de l'e-mail...
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Nom = " . $_SESSION['champ1'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Prénom = " . $_SESSION['champ2'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Société = " . $_SESSION['champ3'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Téléphone = " . $_SESSION['champ4'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Type de PLV récherchée = " . $_SESSION['champ5'] . "</font><br>\n";
$partie_zone_email .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Adresse Email = " . $_SESSION['zone_email1'] . "</font><br>\n";
$partie_zone_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre demande = " . $_SESSION['zone_texte1'] . "</font><br>\n";
// Fin du message HTML
$fin = "</body></html>\n\n";
$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_listes . $partie_boutons . $partie_cases . $partie_zone_texte . $fin;
// Send the e-mail
if (@!mail($email_dest,$sujet,$sortie,$entetes)) {
echo("Envoi du formulaire impossible");
exit();
} else {
// Rediriger vers la page de remerciement
header("Location:http://www.monsite.com/merci.php");
exit();
} // Fin else
} // Fin du if ($flag_erreur == 0) {
} // Fin de if POST
?>
<html>
<!--
Assistant de création de formulaires PHP pour les nuls - Version gratuite 1.6
Auteur : Frédéric Ménard (assistant@f1-fantasy.net)
Site : http://www.f1-fantasy.net/assistant
-->
<head>
<title>Formulaire</title>
<script language="JavaScript">
function verifSelection() {
if (document.mail_form.champ1.value == "") {
alert("Merci de nous communiquer votre Nom")
return false
}
if (document.mail_form.champ3.value == "") {
alert("Merci de nous communiquer le nom de votre société")
return false
}
if (document.mail_form.champ4.value == "") {
alert("Merci de nous communiquer votre numéro de portable")
return false
}
if (document.mail_form.zone_email1.value == "") {
alert("Merci de nous communiquer une adresse Email valide")
return false
}
invalidChars = " /:,;'"
for (i=0; i < invalidChars.length; i++) { // does it contain any invalid characters?
badChar = invalidChars.charAt(i)
if (document.mail_form.zone_email1.value.indexOf(badChar,0) > -1) {
alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
document.mail_form.zone_email1.focus()
return false
}
}
atPos = document.mail_form.zone_email1.value.indexOf("@",1) // there must be one "@" symbol
if (atPos == -1) {
alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.')
document.mail_form.zone_email1.focus()
return false
}
if (document.mail_form.zone_email1.value.indexOf("@",atPos+1) != -1) { // and only one "@" symbol
alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.')
document.mail_form.zone_email1.focus()
return false
}
periodPos = document.mail_form.zone_email1.value.indexOf(".",atPos)
if (periodPos == -1) { // and at least one "." after the "@"
alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.')
document.mail_form.zone_email1.focus()
return false
}
if (periodPos+3 > document.mail_form.zone_email1.value.length) { // must be at least 2 characters after the
alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.')
document.mail_form.zone_email1.focus()
return false
}
} // Fin de la fonction
</script>
</head><body><form name="mail_form" method="post" action="<?php echo $_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
<div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong>Formulaire
de contact</strong></font></div><br><table align="center" width="566" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="16"><div align="center">
<font color="#CC0000" size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong><?php
if ($erreur_champ1) {
echo(stripslashes($erreur_champ1));
} else {
if ($erreur_champ2) {
echo(stripslashes($erreur_champ2));
} else {
if ($erreur_champ3) {
echo(stripslashes($erreur_champ3));
} else {
if ($erreur_champ4) {
echo(stripslashes($erreur_champ4));
} else {
if ($erreur_champ5) {
echo(stripslashes($erreur_champ5));
} else {
if ($erreur_email1) {
echo(stripslashes($erreur_email1));
} else {
if ($erreur_texte1) {
echo(stripslashes($erreur_texte1));
} else {
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
?>
</strong></font>
</div></td>
</tr>
</table>
<p align="center"></p><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Nom</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ1) {
echo($icone);
}
?>
</td>
<td><input name="champ1" type="text" value="<?php echo stripslashes($_SESSION['champ1']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Prénom</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ2) {
echo($icone);
}
?>
</td>
<td><input name="champ2" type="text" value="<?php echo stripslashes($_SESSION['champ2']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Société</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ3) {
echo($icone);
}
?>
</td>
<td><input name="champ3" type="text" value="<?php echo stripslashes($_SESSION['champ3']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Téléphone</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ4) {
echo($icone);
}
?>
</td>
<td><input name="champ4" type="text" value="<?php echo stripslashes($_SESSION['champ4']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Type de PLV récherchée</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ5) {
echo($icone);
}
?>
</td>
<td><input name="champ5" type="text" value="<?php echo stripslashes($_SESSION['champ5']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Adresse Email</font></div></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_email1) {
echo($icone);
}
?>
</td>
<td><input name="zone_email1" type="text" value="<?php echo stripslashes($_SESSION['zone_email1']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140" valign="top"><div align="right"><font face="Verdana" size="2">Votre demande</font></div></td>
<td width="30" align="center" valign="top">
<?php
if ($erreur_texte1) {
echo($icone);
}
?>
</td>
<td><textarea name="zone_texte1" cols="45" rows="10"><?php echo stripslashes($_SESSION['zone_texte1']);?></textarea></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td valign="top"><div align="center">
<input type="reset" name="Reset" value=" Effacer ">
<input type="submit" name="envoi" value="Envoyer">
</div></td></tr></table><div align="center"><input name="nbre_fichiers" type="hidden" id="nbre_fichiers" value=""></div></form></body></html>
Supprimer l'affichage des NOTICE est une très mauvaise idée tant que ton script n'est pas au point. Tu te prives (et tu nous prives) d'une information capitale pour la mise au point.
Que se passe-t-il finalement ? Quel affichage, quel message d'erreur ?
Que se passe-t-il finalement ? Quel affichage, quel message d'erreur ?
Le message d'erreur est
Envoi du formulaire impossible
issu de la portion de code
Envoi du formulaire impossible
issu de la portion de code
// Send the e-mail
if (@!mail($email_dest,$sujet,$sortie,$entetes)) {
echo("Envoi du formulaire impossible");
exit();
} else {
Remet l'affichage des NOTICE
Enlève le @ devant @!mail : if (!mail($email_dest,$sujet,$sortie,$entetes)) {
encore une c..!#$..ie qui empêche de voir ce qui se passe
et redonne le message d'erreur
Enlève le @ devant @!mail : if (!mail($email_dest,$sujet,$sortie,$entetes)) {
encore une c..!#$..ie qui empêche de voir ce qui se passe
et redonne le message d'erreur
Pour remettre les NOTICES je fais ça?
// On vérifie si la fonction ini_set() a été désactivée...
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i") == 0) {
// Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
ini_set("error_reporting" , "E_ALL & ~E_NOTICE");
}
Normal, les messages d'erreur sont très probablement masqués.
Mets en commentaire tout le passage :
// On vérifie si la fonction ini_set() a été désactivée...
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i") == 0) {
// Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
ini_set("error_reporting" , "E_ALL & ~E_NOTICE");
}
et remplace par
ini_set("error_reporting" , E_ALL); // pas de guillemets autour de E_ALL
Mets en commentaire tout le passage :
// On vérifie si la fonction ini_set() a été désactivée...
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i") == 0) {
// Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
ini_set("error_reporting" , "E_ALL & ~E_NOTICE");
}
et remplace par
ini_set("error_reporting" , E_ALL); // pas de guillemets autour de E_ALL
Impossible, je n'y arrive pas. J'ai contrôler les paramètres mail sur mon serveur, mais rien ne change.
Ce formulaire fonctionne au village, alors je pense que cela viens de mon serveur mais je ne vois pas d'ou.
Ce formulaire fonctionne au village, alors je pense que cela viens de mon serveur mais je ne vois pas d'ou.
Impossible, je n'y arrive pas
Si c'est possible
A quoi n'arrives-tu pas ? à mettre le passage indiqué en commentaire ? A afficher les erreurs ?
As-tu bien retiré le @avant le !mail ( ?
Que ça aie déjà marché au village (bonjour chez vous, N°6) ne prouve pas qu'l n'y a pas d'erreur. Tu l'essayes où, la version qui ne marche pas ?
Si c'est possible
A quoi n'arrives-tu pas ? à mettre le passage indiqué en commentaire ? A afficher les erreurs ?
As-tu bien retiré le @avant le !mail ( ?
Que ça aie déjà marché au village (bonjour chez vous, N°6) ne prouve pas qu'l n'y a pas d'erreur. Tu l'essayes où, la version qui ne marche pas ?
En fait, j'ai modifié le code avec les éléments que tu m'as donné, puis envelvé le @
Puis
Mais la réponse de ma page au moment de l'envoi de mail est Envoi du formulaire impossible
J'ai contrôlé les paramètres du serveur pourla fonction mail, et tout me parait correct...
// On vérifie si la fonction ini_set() a été désactivée...
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i") == 0) {
// Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
ini_set("error_reporting" , E_ALL);
}
// Vérifier que le formulaire a été envoyé...
if (isset($_POST['envoi'])) {
Puis
// Send the e-mail
if (!mail($email_dest,$sujet,$sortie,$entetes)) {
echo("Envoi du formulaire impossible");
exit();
} else {
Mais la réponse de ma page au moment de l'envoi de mail est Envoi du formulaire impossible
J'ai contrôlé les paramètres du serveur pourla fonction mail, et tout me parait correct...
// On vérifie si la fonction ini_set() a été désactivée...
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i") == 0) {
// Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
ini_set("error_reporting" , E_ALL);
}
tu n'as pas mis le passage en commentaire. Ne laisse que ini_set("error_reporting" , E_ALL);
( d'ailleurs preg_match("/ini_set/i") est une erreur )
Tu peux aussi modifier le error_reporting = E_ALL directement dans ton fichier php.ini (il faut peut-être relancer IIS, je ne sais pas)
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i") == 0) {
// Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
ini_set("error_reporting" , E_ALL);
}
tu n'as pas mis le passage en commentaire. Ne laisse que ini_set("error_reporting" , E_ALL);
( d'ailleurs preg_match("/ini_set/i") est une erreur )
Tu peux aussi modifier le error_reporting = E_ALL directement dans ton fichier php.ini (il faut peut-être relancer IIS, je ne sais pas)