Problème fonction
Résolu
godLike
Messages postés
259
Date d'inscription
Statut
Membre
Dernière intervention
-
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.
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.
A voir également:
- Problème fonction
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
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
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.
Pour le echo $succed; je suis sur que le mysql_query(...) sera exécuté grâce aux conditions du if.
Amicalement.
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)."')"
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)."')"