Probleme de formulaire sur IE [Résolu]

steff974 7 Messages postés jeudi 1 juin 2017Date d'inscription 8 juin 2017 Dernière intervention - 8 juin 2017 à 18:02 - Dernière réponse : bienvu.ch 24 Messages postés jeudi 8 juin 2017Date d'inscription 9 juin 2017 Dernière intervention
- 8 juin 2017 à 19:13
Bonjour à tous !

Je cherche désespérément à trouver le problème du formulaire de mon site web,
Étant novice en développement, je remercie tous ceux qui pourrons m'aider par leurs connaissances.

j'ai un formulaire classique php contenant une session et qui fonctionne nickel sur firefox, par contre sur IE, j'ai du code php qui s'affiche dans les champs à remplir au lieu qu'il soit vide.

merci,
Afficher la suite 

10 réponses

Répondre au sujet
bienvu.ch 24 Messages postés jeudi 8 juin 2017Date d'inscription 9 juin 2017 Dernière intervention - 8 juin 2017 à 18:05
0
Utile
2
Tu peux partager le code php de ta page?

Il nous manque un peu de détails pour t'aider :)

Seb
steff974 7 Messages postés jeudi 1 juin 2017Date d'inscription 8 juin 2017 Dernière intervention - 8 juin 2017 à 18:14
Merci pour ta réponse,
voila mon formulaire :

<?php
session_start();
?><!DOCTYPE html>
<html lang="fr-FR" prefix="og: http://ogp.me/ns#">
<head>
<meta charset="utf-8" />
<title>seit multiservices installation et dépannage, sud et ouest de l'ile de la reunion 974</title>
<meta name="description" content="Specialise dans les travaux de construction et de renovation, notre entreprise realise vos projets d'electricite, plomberie, amenagement interieur et exterieur">
<meta name="robots" CONTENT="all">
<meta name="Language" CONTENT="fr"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="seit-multiservices.css">
<link rel="shortcut icon" HREF="images/commun/favicon-seit.png">
<meta property="og:title" content="Installation de portail & arrosage automatique, maçonnerie & menuiserie à la réunion 974">
<meta property="og:description" content="Spécialiste de l'aménagement extérieur, notre entreprise intervient pour vos travaux de maconnerie, menuiserie et finitions de votre logement">
<meta property="og:type" content="website">
<meta property="og:url" content="seit-multiservices-974.orange.fr">
<meta property="og:site_name" content="SEIT Multiservices">
<meta property="og:locale" content="fr_FR"/>

<!--pour les balise html5-->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<![endif]-->

<!--pour les media query-->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>

<body>
<div id="conteneur">

<!--
======================================================================================================
HEADER
======================================================================================================
BANNIERE-->
<header>
<img id="image-banniere" src="images/Acceuil/banniere-multiservices.png" alt="Multiservices image">
<a href="index.html" rel="nofollow noopener noreferrer" target="_blank"><div id="logo">
<h1>SEIT Multiservices</h1>
<h2>Electricité - Plomberie - Rénovation</h2>
</div></a>
</header>
<div class="separateur-section"></div>
<!--======================================================================================================
ASIDE LEFT - NAVIGATION-->
<main class="main-contact">
<div class="titre-acceuil"><h1 id="titre-page">Formulaire de contact</h1></div>
<aside id="aside-left">
<a href="contact.php" rel="nofollow noopener noreferrer" target="_blank"><div id="zone-contact">
<span id="contactez-nous">Contactez-nous au</span>
<span id="telephone">0692 00 00 00</span>
</div></a>
<nav id="site-navigation" class="main-navigation">
<ul>
<li><a href="index.html" rel="nofollow noopener noreferrer" target="_blank">Acceuil</a></li>
<li><a href="travaux-electricite-974.html" rel="nofollow noopener noreferrer" target="_blank">Electricité générale</a></li>
<li><a href="travaux-plomberie-974.html" rel="nofollow noopener noreferrer" target="_blank">Plomberie générale</a></li>
<li><a href="renovation-interieur-974.html" rel="nofollow noopener noreferrer" target="_blank">Rénovation intérieur</a></li>
<li><a href="travaux-exterieur-974.html" rel="nofollow noopener noreferrer" target="_blank">Travaux extérieur</a></li>
<li><a href="contact.php" rel="nofollow noopener noreferrer" target="_blank">Nous contacter</a></li>
</ul>
</nav>
</aside>


<?php if(array_key_exists('errors', $_SESSION)): ?>
<div class="alert-danger">
<?= implode('<br>', $_SESSION['errors']); ?>
</div>
<?php unset($_SESSION['errors']); endif; ?>

<?php if(array_key_exists('success', $_SESSION)): ?>
<div class="alert-success">
Votre demande a bien été envoyé
</div>
<?php endif; ?>


<form action="traitement.php" method="post">
<p>
<label for="input_name">Votre nom* :</label><br>
<input type="text" name="name" id="input_name" autofocus="autofocus" value="<?= isset($_SESSION['inputs']['name']) ? $_SESSION['inputs']['name'] : ''; ?>">
</p>
<p>
<label for="input_email">Votre e-mail* :</label><br>
<input type="email" name="email" id="input_email" value="<?= isset($_SESSION['inputs']['email']) ? $_SESSION['inputs']['email'] : ''; ?>">
</p>
<p>
<label for="input_tel">Téléphone :</label><br>
<input type="tel" name="tel" id="input_tel" value="<?= isset($_SESSION['inputs']['tel']) ? $_SESSION['inputs']['tel'] : ''; ?>">
</p>
<p>
<label for="select_communes">Communes :</label><br>
<select name="communes" id="select_communes">
<option value="Saint-Paul">97460 - Saint-Paul</option>
<option value="Les Trois-bassins">97426 - Les trois-Bassins</option>
<option value="Saint-Leu">97436 - St-Leu</option>
<option value="Les Avirons">97425 - Les Avirons</option>
<option value="Etang-Salé">97427 - Etang-Salé</option>
<option value="Saint-Louis">97450 - Saint-Louis</option>
<option value="Entre-Deux">97414 - Entre-Deux</option>
<option value="Saint-Pierre">97410 - Saint-Pierre</option>
<option value="Le Tampon">97430 - Le Tampon</option>
<option value="Petite-Ile">97429 - Petite-Ile</option>
<option value="Saint-Josepsh">97480 - Saint-Joseph</option>
</select>
</p>
<p>
<label for="message">Votre message* :</label><br />
<textarea name="message" id="message"><?= isset($_SESSION['inputs']['message']) ? $_SESSION['inputs']['message'] : ''; ?></textarea>
</p>
<p>
<button type="submit">Envoyer</button>
</p>
</form>
<!--<h2>Debug :</h2>
<?= var_dump($_SESSION); ?>-->
</main>
<div class="ajout-footer"></div>
<div class="separateur-footer"><a href="#conteneur" rel="nofollow noopener noreferrer" target="_blank">(Haut)</a></div>
<!--======================================================================================================
FOOTER
=======================================================================================================
CONTACT FOOTER-->
<footer>
<p id="contact-adress-footer">
<span>mon adresse</span>
<span>97421</span>
<span>LA RIVIERE / LES MAKES</span>
</p>
<p id="copyright">
copyright © 2017 SEIT Multiservices - <a href="mentions.html" rel="nofollow noopener noreferrer" target="_blank">Mentions légales</a>
</p>
</footer>
<div class="fin-footer"></div>
</div>
</body>
</html>
<?php
unset($_SESSION['inputs']);
unset($_SESSION['success']);
unset($_SESSION['errors']);
?>



et mon code de traitement :

<?php
$errors = [];

if(!array_key_exists('name', $_POST) || $_POST['name'] == ''){
$errors['name'] = "Vous n'avez pas renseigné votre nom";
}
if(!array_key_exists('email', $_POST) || $_POST['email'] == '' || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
$errors['email'] = "Vous n'avez pas renseigné un email valide";
}
if(!array_key_exists('message', $_POST) || $_POST['message'] == ''){
$errors['message'] = "Vous n'avez pas renseigné votre message";
}
session_start();

if(!empty($errors)){
$_SESSION['errors'] = $errors;
$_SESSION['inputs'] = $_POST;
header('Location: contact.php');

}else{
$_SESSION['success'] = 1;

$message = htmlspecialchars($_POST['name'])."\r\n";
$message .= htmlspecialchars($_POST['tel'])."\r\n";
$message .= htmlspecialchars($_POST['email'])."\r\n";
$message .= htmlspecialchars($_POST['communes'])."\r\n\r\n";
$message .= htmlspecialchars($_POST['message']);
$headers = 'From: ' . $_POST['email'];
mail('seit@live.fr', 'Formulaire de contact de ' . $_POST['name'], $message, $headers);
header('Location: contact.php');
}
var_dump($errors);
die();
steff974 7 Messages postés jeudi 1 juin 2017Date d'inscription 8 juin 2017 Dernière intervention - 8 juin 2017 à 18:19
désolé pour la présentation, je n'arrive pas à inserer le code en couleur.
Stef
Commenter la réponse de bienvu.ch
le père. 5988 Messages postés mardi 15 mai 2012Date d'inscription 14 décembre 2017 Dernière intervention - 8 juin 2017 à 18:17
0
Utile
Bonjour

Normalement, un script d'envoie pas son code PHP en ligne. Peu importe que ce soit IE ou autre chose qui est à l'écoute.
C'est du code php ou des message d'erreur php qui s'affichent dans les champs ?
Commenter la réponse de le père.
steff974 7 Messages postés jeudi 1 juin 2017Date d'inscription 8 juin 2017 Dernière intervention - 8 juin 2017 à 18:49
0
Utile
C'est du code php, tout va bien avec firefox.
Commenter la réponse de steff974
steff974 7 Messages postés jeudi 1 juin 2017Date d'inscription 8 juin 2017 Dernière intervention - 8 juin 2017 à 18:54
0
Utile
En fait, ca pourrai venir du fait que j'utilise wamp en local est qu'il à que firefox par défaut ?
Commenter la réponse de steff974
jordane45 19288 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 17 décembre 2017 Dernière intervention - 8 juin 2017 à 18:55
0
Utile
Bonjour

Tu as quoi comme url dans la barre d'adresse sous ie ?
Commenter la réponse de jordane45
steff974 7 Messages postés jeudi 1 juin 2017Date d'inscription 8 juin 2017 Dernière intervention - 8 juin 2017 à 18:57
0
Utile
C:\wamp\www\SEIT Multiservices\contact.php
Commenter la réponse de steff974
steff974 7 Messages postés jeudi 1 juin 2017Date d'inscription 8 juin 2017 Dernière intervention - 8 juin 2017 à 19:06
0
Utile
c'est bon, il fallait http://localhost/SEIT%20Multiservices/contact.php
Merci de votre aide !
Commenter la réponse de steff974
bienvu.ch 24 Messages postés jeudi 8 juin 2017Date d'inscription 9 juin 2017 Dernière intervention - 8 juin 2017 à 19:13
0
Utile
J'ai terminé traitement.php avec %> qui manquait.
Ensuite ça a passé avec FF, IE et Chrome.


Néamoins quelques points:
1) <?= n'est pas très propre. <% echo est préférable
2) définir $headers pour que les caractères spéciaux accents passent (charset) et envoyer en HTML
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

3) les lignes
var_dump($errors);
die();

ne seront jamais exécutées.

Regarde si ça règle tes problèmes.

Seb
Commenter la réponse de bienvu.ch