Problème fonction

Résolu/Fermé
godLike Messages postés 259 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 26 juillet 2011 - 12 mars 2009 à 16:46
 le père - 12 mars 2009 à 18:04
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.

A voir également:

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
0
godLike Messages postés 259 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 26 juillet 2011 26
12 mars 2009 à 17:08
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.
0
godLike Messages postés 259 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 26 juillet 2011 26
12 mars 2009 à 17:12
En fait non la query ne s'execute pas, je ne comprends pas pourquoi..
0
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)."')"
0