Problème fonction PHP

Résolu
M_Tufux Messages postés 85 Statut Membre -  
 Utilisateur anonyme -
Hello!

Je suis en plein dégeugage de mon application web et je bloque sur un élément. Lorsque je valide le formulaire, le fichier "Form.php" appelle une fonction php Ajouter du fichier "MySQL.php". Le résultat sur l'écran est le suivant, donc après validation du formulaire:

---------------------------------------------------------------
( ! ) Fatal error: Cannot redeclare ExtraireListe() (previously declared in C:\wamp\www\NinP\MySQL.php:32) in C:\wamp\www\NinP\MySQL.php on line 61
Call Stack
# Time Memory Function Location
1 0.0009 298424 {main}( ) ..\Form2.php:0


---------------------------------------------------------------

Voici mon code lié à cette erreur:

function salut($table, $OF, $Concerne){

$base = mysqli_connect("localhost", "root", "", "defaut") or die("Erreur de connection à la base de données");
mysqli_query($base,"SET NAMES UTF8");
  
$IDnom = mysqli_query($base, 'SELECT noms.ID FROM `noms` WHERE noms.NomPrenom = '.$_POST['nom'].'');
  
$query = mysqli_query($base, "INSERT INTO `problemes` 
(`IDcontrole`, `OF`, `Article`, `Rebuts`, `PiecesBonnes`, `Machine`, 
  `Matiere`, `Concerne`, `Commentaire`, `Date`) 
  VALUES (
  ".$IDnom.", 
  '".$OF."', 
  '".$_POST['article']."', 
  '".$_POST['rebuts']."', 
  '".$_POST['pb']."', 
  '".$_POST['machine']."',
  '".$_POST['matiere']."',
  '".$Concerne."', 
  '".$_POST['commentaire']."', 
  '".$_POST['date']."'')");
  
  
  if($query != false){
   echo('<script>alert("Saisie validée");</script>');
   return true;
  }
  else{
   echo('<script>alert("Saisie erronée");</script>');
  }
 }


Est-ce quelqu'un pourrait m'aider dans cette tâche?
A voir également:

2 réponses

Utilisateur anonyme
 
Bah, comme l'erreur l'indique, tu déclares deux fois la même fonction ExtraireListe().
C'est peut-être parce que tu includes deux fois le fichier que la déclare.
0
M_Tufux Messages postés 85 Statut Membre
 
Yep, je me suis mal exprimé. Cette erreur correspond au moment ou j'avais mis le fonction "salut" en commentaire, autrement le message aurait mis "2x la même fonction salut"

Donc l'erreur donne ça finalement :

Fatal error: Cannot redeclare salut() (previously declared in C:\wamp\www\NinP\MySQL.php:2) in C:\wamp\www\NinP\MySQL.php on line 31
Call Stack
# Time Memory Function Location
1 0.0020 298424 {main}( ) ..\Form2.php:0
0
jordane45 Messages postés 40050 Statut Modérateur 4 754
 
Bonjour,


Donc l'erreur donne ça finalement :

Fatal error: Cannot redeclare salut() (previously declared in C:\wamp\www\NinP\MySQL.php:2) in C:\wamp\www\NinP\MySQL.php on line 31

Et donc... comme dis précédemment.. le message d'erreur est clair !
Tu déclare cette fonction plusieurs fois ....
Pour que l'on puisse t'aider il faut que tu nous montres Où tu appelles ce script dans ton code .....
(peut être via un INCLUDE non ?? )
0
M_Tufux Messages postés 85 Statut Membre
 
Voilé voilà

//Le fichier head.php contient un include du MySQL.php
include('head.php');

/***********************************************
****************** APPEL SQL *************
***********************************************/
//Erreur est déclaré puis initialisé à false au début du fichier. Lorsqu'une erreur est //détectée dans la gestion d'erreur, il se met à true
if($berreur == false){
    salut('problemes', $OF, $Concerne);
}	

0
M_Tufux Messages postés 85 Statut Membre
 
Ok, ne sais pas pourquoi, mais ça marche :D

J'ai fait des CTRL + Z, remis l'encodage en UTF8 CTRL + Y et ça marche... Cool!
0
Utilisateur anonyme
 
Déclarer une fonction, c'est la définir avec function(){}, pas l'appeler. On ne déclare qu'une fois, on peut appeler plusieurs fois.
0