Signaler

Probleme de formulaire sur IE [Résolu]

Posez votre question steff974 7Messages postés jeudi 1 juin 2017Date d'inscription 8 juin 2017 Dernière intervention - Dernière réponse le 8 juin 2017 à 19:13 par bienvu.ch
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,
Utile
+0
plus moins
Tu peux partager le code php de ta page?

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

Seb
steff974 7Messages 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();
Répondre
steff974 7Messages 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
Répondre
Donnez votre avis
Utile
+0
plus moins
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 ?
Donnez votre avis
Utile
+0
plus moins
C'est du code php, tout va bien avec firefox.
Donnez votre avis
Utile
+0
plus moins
En fait, ca pourrai venir du fait que j'utilise wamp en local est qu'il à que firefox par défaut ?
Donnez votre avis
Utile
+0
plus moins
Bonjour

Tu as quoi comme url dans la barre d'adresse sous ie ?
Donnez votre avis
Utile
+0
plus moins
C:\wamp\www\SEIT Multiservices\contact.php
Donnez votre avis
Utile
+0
plus moins
c'est bon, il fallait http://localhost/SEIT%20Multiservices/contact.php
Merci de votre aide !
Donnez votre avis
Utile
+0
plus moins
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
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !