steph70
-
Modifié par jordane45 le 26/11/2015 à 10:05
steph70 -
26 nov. 2015 à 10:44
Bonjour a tous,
j'ai un petit serveur local qui fonctionne normalement et qui est assez ancien.
je l'ai migré sur un serveur plus récent en gardant le meme wamp pour eviter les problèmes... manqué !!
Lors de l'ouverteur de page sur mon serveur web, j'ai l'erreur
Notice: Undefined index: Machine in C:\wamp\www\RechercherDonnees.php on line 85
qui s'affiche.
Cela n'empeche pas qu'a l'execution de la requete j'ai les bons resultats mais cela me gene d'avoir ces erreurs qui s'affiche
Peut on en empecher l'affichage ou que dois je faire pour eviter ces erreurs ?
Il y a des dizaines de pages comme celles ci et j'aimerais tout autant eviter d'etre oblgié de recommencer.
je vous joins une page de code qui donne l'erreur a son ouverture et gardez a l'esprit que ces codes sont anciens. Merci d'avance pour votre aide et pour votre tolérance.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="fr"><head><meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"><title>Recherche des données</title>
<style type="text/css">#Gauche {
float: left;
font-family: "Times New Roman",Times,serif;
font-weight: bold;
text-align: left;
color: black;
font-style: normal;
width: 5%;
margin-left:10px;
}
#center {
border-style: solid;
border-width: 1px;
background-color: #E8E8E8;
float: left;
font-family: "Times New Roman",Times,serif;
font-weight: bold;
color: black;
font-style: normal;
width: 80%;
margin-left: 7px;
margin-right:7px;
padding:10px;
}
#Droit {
float: left;
font-family: "Times New Roman",Times,serif;
font-weight: bold;
text-align: left;
color: black;
font-style: normal;
width: 5%;
padding: 5px;
}
</style></head>
<body style="color: rgb(0, 0, 0); background-color: rgb(153, 255, 255); background-image: url(images/fond.gif);" alink="#000099" link="#000099" vlink="#990099">
<div style="text-align: center;"><img style="width: 150px; height: 118px;" alt="Logo Interval" src="l_interval.gif"><br>
<center style="color: red;"><h1 style="background-color: rgb(153, 255, 153);">Recherche données entretien machine(s)</h1></center>
<div id="Gauche"></div>
<div id="center">
<!-- Mise en place du formulaire de recherche -->
<form method="post">
<p>Rechercher par :</p><br/>
Machine : <input type="text" name="Machine" /> -
Utilisateur : <input type="text" name="Utilisateur" /> -
Lieu : <input type="text" name="Lieu" /> -
Symptômes : <input type="text" name="Symptomes" />
<br/><input type="submit" value="Chercher" />
</form>
<center><table width="981" border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="62"><div align="center">Date</div></td>
<td width="62"><div align="center">Lieu</div></td>
<td width="71"><div align="center">Machine</div></td>
<td width="73"><div align="center">Utilisateur</div></td>
<td width="80"><div align="center">Symptômes</div></td>
<td width="86"><div align="center">Intervention</div></td>
</tr>
<?php
//récupération des variables
$Machine=$_POST['Machine'];
$Utilisateur=$_POST['Utilisateur'];
$Lieu=$_POST['Lieu'];
$Symptomes=$_POST['Symptomes'];
$Symptomes = str_replace(" ", "%' OR Symptomes LIKE '%", $Symptomes);
//Requêtes
mysql_connect("localhost", "***", "") or die ("Pas de connexion à la base de données"); // Connexion à MySQL
mysql_select_db("Entretien") or die ("Pas de connexion à la base"); // Sélection de la base coursphp
// Si seul Machine est rempli
if ((!empty($Machine)) and (empty($Utilisateur)) and (empty($Lieu)) and (empty($Symptomes)))
{
$reponse = mysql_query("SELECT * FROM intervention WHERE `Machine`='$Machine'"); // Requête SQL
}
//Si seul Utilisateur est rempli
if ((empty($Machine)) and (!empty($Utilisateur)) and (empty($Lieu)) and (empty($Symptomes)))
{
$reponse = mysql_query("SELECT * FROM intervention WHERE `Utilisateur`='$Utilisateur'"); // Requête SQL
}
//Si seul Lieu est rempli
if ((empty($Machine)) and (empty($Utilisateur)) and (!empty($Lieu)) and (empty($Symptomes)))
{
$reponse = mysql_query("SELECT * FROM intervention WHERE `Lieu`='$Lieu'"); // Requête SQL
}
//Si seul Symptome est rempli ***************************************************************************************
if ((empty($Machine)) and (empty($Utilisateur)) and (empty($Lieu)) and (!empty($Symptomes)))
{
$reponse = mysql_query("SELECT * FROM intervention WHERE `Symptomes` LIKE '%$Symptomes%'"); // Requête SQL
}
//****************************************************************************************************************
//Si Machine et Utilisateur sont rempli
if ((!empty($Machine)) and (!empty($Utilisateur)) and (empty($Lieu)) and (empty($Symptomes)))
{
$reponse = mysql_query("SELECT * FROM intervention WHERE `Machine`='$Machine' and `Utilisateur`='$Utilisateur'"); // Requête SQL
}
//Si Machine, Utilisateur e t Lieu sont rempli
if ((!empty($Machine)) and (!empty($Utilisateur)) and (!empty($Lieu)) and (empty($Symptomes)))
{
$reponse = mysql_query("SELECT * FROM intervention WHERE `Machine`='$Machine' and `Utilisateur`='$Utilisateur' and `Lieu`='$Lieu'"); // Requête SQL
}
// Si tous les champs sont remplis
if ((!empty($Machine)) and (!empty($Utilisateur)) and (!empty($Lieu)) and (!empty($Symptomes)))
{
$reponse = mysql_query("SELECT * FROM intervention WHERE `Machine`='$Machine' and `Utilisateur`='$Utilisateur' and `Lieu`='$Lieu' and `Symptomes` LIKE '%$Symptomes%'"); // Requête SQL
}
//*******************************************************************************************
//Si Utilisateur et Lieu sont rempli
if ((empty($Machine)) and (!empty($Utilisateur)) and (!empty($Lieu)) and (empty($Symptomes)))
{
$reponse = mysql_query("SELECT * FROM intervention WHERE `Utilisateur`='$Utilisateur' and `Lieu`='$Lieu'"); // Requête SQL
}
//Si utilisateur et Symptomes sont rempli
if ((empty($Machine)) and (!empty($Utilisateur)) and (empty($Lieu)) and (!empty($Symptomes)))
{
$reponse = mysql_query("SELECT * FROM intervention WHERE `Utilisateur`='$Utilisateur'and `Symptomes` LIKE '%$Symptomes%'"); // Requête SQL
}
//Si Lieu et Symptomes sont rempli
if ((empty($Machine)) and (empty($Utilisateur)) and (!empty($Lieu)) and (!empty($Symptomes)))
{
$reponse = mysql_query("SELECT * FROM intervention WHERE `Lieu`='$Lieu' and `Symptomes` LIKE '%$Symptomes%'"); // Requête SQL
}
//Si Machine et lieu sont rempli
if ((!empty($Machine )) and (empty($Utilisateur)) and (!empty($Lieu)) and (empty($Symptomes)))
{
$reponse = mysql_query("SELECT * FROM intervention WHERE `Machine`='$Machine' and `Lieu`='$Lieu'"); // Requête SQL
}
//Si Machine et Symptomes sont rempli
if ((!empty($Machine)) and (empty($Utilisateur)) and (empty($Lieu)) and (!empty($Symptomes)))
{
$reponse = mysql_query("SELECT * FROM intervention WHERE `Machine`='$Machine' and `Symptomes` LIKE '%$Symptomes%'"); // Requête SQL
}
// On fait une boucle pour lister tout ce que contient la table :
//***********************************************************************************************************************
if ($reponse)
{
//*************************************************************************************************************************
while ($donnees = mysql_fetch_array($reponse))
{
?>
<tr>
<td><center><strong><?php echo $donnees['Date']; ?></strong></center></td>
<td><center><strong><?php echo $donnees['Lieu']; ?></strong></center></td>
<td><center><strong><?php echo $donnees['Machine']; ?></strong></center></td>
<td><center><strong><?php echo $donnees['Utilisateur']; ?></strong></center></td>
<td><center><strong><?php echo $donnees['Symptomes']; ?></strong></center></td>
<td><center><strong><?php echo $donnees['Intervention']; ?></strong></center></td>
</tr>
<?php
}
//mysql_close(); // Déconnexion de MySQL
//****************************************************************************************************
}
else
{
echo 'Veuillez remplir au moins un champs !!!';
}
//****************************************************************************************************
?>
</table></center>
<br/><br/>
<a href="index.html"><big>Retour à la page d'index</big></a><br>
</div><div id="Droit"></div>
</body></html>
Merci a tous
Cordialement
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique). Explications disponibles ici : ICI
jordane45
Messages postés38314Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention24 novembre 20244 705 26 nov. 2015 à 10:08
Bonjour,
Ton souci se trouve au niveau de la récupération de tes variables
//récupération des variables
$Machine=$_POST['Machine'];
$Utilisateur=$_POST['Utilisateur'];
$Lieu=$_POST['Lieu'];
$Symptomes=$_POST['Symptomes'];
Pour éviter toute erreur (et ce message d'avertissement...) il est "fortement" conseillé de vérifier avec un ISSET ou un !EMPTY que tes variables existent avant d'essayer de les utiliser.
Ce qui... en écriture ternaire, peut se faire ainsi :
Bien sûr .. tu as toujours la possibilité, si vraiment tu ne souhaites pas toucher à ton code..., dans ton php.ini de lui dire de ne pas afficher les "NOTICE" ... mais ça... je ne te le conseille pas.