Probleme de formulaire sur IE

Résolu/Fermé
steff974 Messages postés 7 Date d'inscription jeudi 1 juin 2017 Statut Membre Dernière intervention 8 juin 2017 - 8 juin 2017 à 18:02
bienvu.ch Messages postés 27 Date d'inscription jeudi 8 juin 2017 Statut Membre Dernière intervention 26 mars 2018 - 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,

8 réponses

bienvu.ch Messages postés 27 Date d'inscription jeudi 8 juin 2017 Statut Membre Dernière intervention 26 mars 2018 2
8 juin 2017 à 18:05
Tu peux partager le code php de ta page?

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

Seb
0
steff974 Messages postés 7 Date d'inscription jeudi 1 juin 2017 Statut Membre Dernière intervention 8 juin 2017
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();
0
steff974 Messages postés 7 Date d'inscription jeudi 1 juin 2017 Statut Membre Dernière intervention 8 juin 2017
8 juin 2017 à 18:19
désolé pour la présentation, je n'arrive pas à inserer le code en couleur.
Stef
0
Utilisateur anonyme
8 juin 2017 à 18:17
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 ?
0
steff974 Messages postés 7 Date d'inscription jeudi 1 juin 2017 Statut Membre Dernière intervention 8 juin 2017
8 juin 2017 à 18:49
C'est du code php, tout va bien avec firefox.
0
steff974 Messages postés 7 Date d'inscription jeudi 1 juin 2017 Statut Membre Dernière intervention 8 juin 2017
8 juin 2017 à 18:54
En fait, ca pourrai venir du fait que j'utilise wamp en local est qu'il à que firefox par défaut ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
8 juin 2017 à 18:55
Bonjour

Tu as quoi comme url dans la barre d'adresse sous ie ?
0
steff974 Messages postés 7 Date d'inscription jeudi 1 juin 2017 Statut Membre Dernière intervention 8 juin 2017
8 juin 2017 à 18:57
C:\wamp\www\SEIT Multiservices\contact.php
0
steff974 Messages postés 7 Date d'inscription jeudi 1 juin 2017 Statut Membre Dernière intervention 8 juin 2017
8 juin 2017 à 19:06
c'est bon, il fallait http://localhost/SEIT%20Multiservices/contact.php
Merci de votre aide !
0
bienvu.ch Messages postés 27 Date d'inscription jeudi 8 juin 2017 Statut Membre Dernière intervention 26 mars 2018 2
8 juin 2017 à 19:13
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
0