Problème fonction
Résolu
godLike
Messages postés
277
Statut
Membre
-
le père -
le père -
Bonjour,
Dans mon site j'aimerai pouvoir remplir une table, j'ai donc crée le code suivant :
<?php
require_once('co_base.php');
//definition error
$error1 = "Veuillez entrer un type de formation.";
$error2 = "Ce type de formation existe déjà.";
//definition succed
$succed = "Nouveau type de formation ajouté à la base.";
//on charge les variables pour tester conditions déjà existant
$formatype = $_POST['newtypeforma'];
if ($_POST['newtypeforma'] == NULL)
{
echo $error1;
}
elseif (typeforma_exist($formatype))
{
echo $error2;
}
else
{
mysql_connect("$server", "$user");
mysql_select_db("$base");
$forma = $_POST['newtypeforma'];
mysql_query("INSERT INTO formation
VALUES ('', '$forma')");
echo $succed;
}
?>
Avec la fonction typeforma_exist($formatype) suivante :
function typeforma_exist($formatype)
{
mysql_connect("localhost", "root");
mysql_select_db("ewah");
$sql = 'SELECT `id_type`
FROM `formation_type`
WHERE `type_forma` = \'' .addslahses($formatype) . '\'
LIMIT 1';
$res = mysql_query($sql) or die (mysql_error());
return (mysql_num_rows($res) == 1);
mysql_close();
}
Quand je charge la page , ça me donne ça :
Fatal error: Call to undefined function typeforma_exist() in C:\xampp\htdocs\stage\add_forma.php on line 18
Quelle est mon erreur ?
Merci par avance, Amicalement.
--
On peut tromper 1 fois 1000 personnes, mais on ne peut pas tromper 1000 fois 1 personne.
Dans mon site j'aimerai pouvoir remplir une table, j'ai donc crée le code suivant :
<?php
require_once('co_base.php');
//definition error
$error1 = "Veuillez entrer un type de formation.";
$error2 = "Ce type de formation existe déjà.";
//definition succed
$succed = "Nouveau type de formation ajouté à la base.";
//on charge les variables pour tester conditions déjà existant
$formatype = $_POST['newtypeforma'];
if ($_POST['newtypeforma'] == NULL)
{
echo $error1;
}
elseif (typeforma_exist($formatype))
{
echo $error2;
}
else
{
mysql_connect("$server", "$user");
mysql_select_db("$base");
$forma = $_POST['newtypeforma'];
mysql_query("INSERT INTO formation
VALUES ('', '$forma')");
echo $succed;
}
?>
Avec la fonction typeforma_exist($formatype) suivante :
function typeforma_exist($formatype)
{
mysql_connect("localhost", "root");
mysql_select_db("ewah");
$sql = 'SELECT `id_type`
FROM `formation_type`
WHERE `type_forma` = \'' .addslahses($formatype) . '\'
LIMIT 1';
$res = mysql_query($sql) or die (mysql_error());
return (mysql_num_rows($res) == 1);
mysql_close();
}
Quand je charge la page , ça me donne ça :
Fatal error: Call to undefined function typeforma_exist() in C:\xampp\htdocs\stage\add_forma.php on line 18
Quelle est mon erreur ?
Merci par avance, Amicalement.
--
On peut tromper 1 fois 1000 personnes, mais on ne peut pas tromper 1000 fois 1 personne.
Configuration: Windows XP Firefox 2.0.0.18
4 réponses
-
Bonjour
Petite question : où est définie ta fonction typeforma_exist ? dans co_base.php ?
Sinon, 2 petites remarques :
mysql_close(); après un return ne sert à rien, il ne sera jamais exécuté.
il ne faudrait faire echo $succed; qui si le mysql_query qui le précède est OK -
Je suis vraiment trop bête .. J'ai oublié de faire require_once('fonc_doublon.php').. Je suis vraiment plus en etat de codé à cette heure ci.. Je vais me reposer un petit peu :) Merci.
Pour le echo $succed; je suis sur que le mysql_query(...) sera exécuté grâce aux conditions du if.
Amicalement. -
En fait non la query ne s'execute pas, je ne comprends pas pourquoi..
-
Si c'est bien de cette requête-là qu'il s'agit :
if (mysql_query("INSERT INTO formation VALUES ('', '$forma')")) echo $succed; else echo mysql_error();
ne résout rien mais donne une indication sur l'erreur
Si tu as une apostrophe dans le nom de ta formation, l'erreur vient du fait que tu ne l'échappes pas. Il faudrait toujours faire :
"INSERT INTO formation VALUES ('', '".mysql_real_escape_string($forma)."')"