Intranet PHP/MySql (suite site web dynamique!)

Signaler
Messages postés
53
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
29 août 2005
-
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004
-
Bonjour,

je n'arrive pas à enregistrer les données saisies ds mon formulaire ds ma base de données mysql. (j utilise easyphp).
j'ai ce message d erreur :

code pour l' ajout : add_ca.php3 :
<?php

include("variables.inc.php3");

 include("identification.inc.php3");

if ($enregistre == "oui")
{
  if (empty($nom) || empty($prenom) || empty($adrue) || empty($ville) || empty($cp)
 || empty($titre) || empty($naissance) || empty($email) || empty($poste) || empty($prefgeo) || empty($nivetude)
|| empty($nivexp) || empty($formation) || empty($exp) || empty($salactu) || empty($compet) || empty($coment) 
|| empty($lv) || empty($pretention) || empty($dispo) || empty($nationalite) || empty($convoque) )
    die("ERREUR : tous les champs doivent être remplis.");

// Vérification si le titre est coché
  if (!isset($titre)) die("ERREUR : choisissez votre titre.");

//Vérification le format de l'adresse e-mail
  if (ereg("^[[:alnum:]]+@[[:alpha:]]+\.[[:alpha:]]{2,3}$",$email) == 0) 
    die("ERREUR : adresse email non valide.");

//Vérification le format du code postal (entier, 5 chiffres)
  if ((ereg("^[[:digit:]]+$",$codePostal) == 0) || !(($codePostal >= 6) && ($codePostal <= 6)))
    die("ERREUR : le code postal n'est pas valide.");

//Récupérer les valeurs saisies

$nom = $_POST['nom'];
$prenom= $_POST['prenom'];

$adrue=$_POST['adresse'];
$cp=$_POST['codePostal'];
$ville=$_POST['ville'];
$fix=$_POST['telFixe'] ;
$port=$_POST['telPort'];
 $dispo=$_POST['disponibilite'];

//$marie=$_POST['marie'];
$titre=$_POST['titre'];
$coment=$_POST['commentaire'];
$prefgeo=$_POST['prefGeo'];
$exp=$_POST['experience'];
$nivetude=$_POST['nivEtude'];
$pretention=$_POST['pretention'];
$poste=$_POST['poste'];
$naissance=$_POST['dateNaissance'];
$nivexp=$_POST['nivExp'];
$formation=$_POST['formation'];
$compet=$_POST['competence'];
$lv=$_POST['langue'];
$salactu=$_POST['salaireActuel'];
$convoque=$_POST['convoque'];

//-----------------------------

//Connexion à la base de données 
  $liendb = mysql_connect($bddserver, $bddlogin, $bddpassword);
  mysql_select_db ($bdd);

$requete1="select nom, prenom from $tab_candidat where nom='".addslashes($nom)."' and prenom='".addslashes($prenom)."' ";
$resultat1=mysql_query($requete1);
$res=mysql_numrows($resultat1);
if($res==0)
{

echo '<script language="javascript"> alert ("Candidat enregistré!"); window.location="m_candidat.htm";</script>';

//Insertion des données dans la table sélectionnée
  $sql = "INSERT INTO $tab_candidat (titre, nom, prenom, dateNaissance, adresse, codePostal, ville, telFix, telPort, email, poste, prefGeo, nivEtude, nivExp, webPage, formation, experience, competence, commentaire, langue, pretention, disponibilite, nationalite, salaireActuel, convoque)
' VALUES ('$titre', '$nom', '$prenom','$naissance', '$adrue','$cp', '$ville', '$fix', '$port', '$email', '$poste', '$prefgeo', '$nivetude', '$nivexp', '', '$formation', '$exp', '$compet', '$coment', '$lv', '$pretention', '$dispo', '$nationalite', '$salactu', '$convoque')";
  mysql_query ($sql);
  mysql_close($liendb);
  header("location: $url");
}
else
{
echo '<script language="javascript">alert ("Ce candidat existe déjà!");window.location="add_ca.php3";</script>';
}}
include("haut.inc.php3");

?>

 :: Ajouter un nouveau candidat

<form action="add_ca.php3" method="post" enctype="multipart/form-data">

<center>
Titre

</center>

</form>

identification.inc.php3

<code>
<?php

if(!(($_SERVER['PHP_AUTH_USER']=="essai") && ($_SERVER['PHP_AUTH_PW']=="essai"))) 
{
 		header("status: 401 Unauthorized");
    header("HTTP/1.0 401 Unauthorized");
    header("WWW-authenticate: Basic realm="accès limité!! "");
    print("verification : ERREUR");
    return 0;
}

?>



variables.inc.php3
<?php

$bddserver = "localhost";
$bddlogin = "root";
$bddpassword = "";
$bdd = "site";
$tab_candidat = "candidat";
$tab_collaborateur = "collaborateur";
$url = "http://127.1.1.1";

?>


Merci pr votre aide.

13 réponses

Messages postés
53
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
29 août 2005

Le message d erreur :

Notice: Undefined variable: enregistre

Merci .

Sagesse.
Messages postés
393
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
29 septembre 2008

salut

ya bcp de codepeut pas tout lire pas le temps
donc jai matter un peu quand meme :-p et donc moi pour debugger je commencerai par vérifier ma requete...

$sql = "INSERT INTO $tab_candidat (titre, nom, prenom, dateNaissance, adresse, codePostal, ville, telFix, telPort, email, poste, prefGeo, nivEtude, nivExp, webPage, formation, experience, competence, commentaire, langue, pretention, disponibilite, nationalite, salaireActuel, convoque)
' VALUES ('$titre', '$nom', '$prenom','$naissance', '$adrue','$cp', '$ville', '$fix', '$port', '$email', '$poste', '$prefgeo', '$nivetude', '$nivexp', '', '$formation', '$exp', '$compet', '$coment', '$lv', '$pretention', '$dispo', '$nationalite', '$salactu', '$convoque')";

//fait ca:
echo "$sql";
//ca affiche ta requete sdous l'explorer cava deja etre plus simple de voir si ya un truc incohérent

ensuite tu fait un copier puis tu la colle sous ton executeur de requete mysql (je pense que tu as easyphp) et la ca va t'afficher des erreurs (enfin j'espere pour toi sinon ca veut dire que ca vient d'autres part donc la requete est bonne....)

enfin en plus si ta requete ne s'affiche pas c que tes boucles sont faites de telles sortes que ta requete ne sera jamais executer

Bon courage tien moi informersi ta des probleemes j'essayerai de passer un peu plus de temps....

++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller" 8-)
Messages postés
699
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
13 mai 2011
19
Bonjour,

ton erreur vient du fait que tu essayes au départ de savoir si la variable $enregistre est égale à oui, alors que c'est la variable :

$_POST["enregistre"]

Idem pour le test qui suit, il faut mettre des $_POST[] à chaque fois,

Fanny
Messages postés
53
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
29 août 2005

Merci pr votre aide !

window.location="mapage.htm"
est-ce kil existe une fonction pr afficher la même page; je m'explike=> l utilisateur se trompe ds sa saisie, un message s affiche pr indiquer l erreur donc pr eviter ke l utilisateur ressaisit à nouveau tt ce kil a saisit=>est ce kil y a une fonction pr se rendre à la meme page (rempli).
je ne sé si je ss claire :(.

Merci d'avance.

Sagesse.
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

Tu dois modifier ton formulaire,
la page où il y a ton formulaire doit être add_ca.php3,

Par exemple, pour un input tu peux faire :

" />

FlashFun 8-)
Messages postés
12
Date d'inscription
samedi 30 août 2003
Statut
Membre
Dernière intervention
28 février 2005

bonsoir je vois déja qu'il ya une cote prés de values dans l'instruction insert peut etre que cette cote errone la syntaxe .c pour cela qu' il y a pas insertion
Messages postés
53
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
29 août 2005

bjr à ts :) ,
merci pr votre aide.
________________
ehmarc=> la requete de ne s affiche pas mais juste la variable $sql, j ai déjà des pbs d exécution:((.merci kan meme.
_______________
FlashFun =>mon fomulaire ou je saisi les données s 'apel add_ca.php3, au nivo du script est ce ke je dois virer la première partie ou je récupère les valeurs
//Récupérer les valeurs saisies

$nom = $_POST['nom'];
$prenom= $_POST['prenom'];

$adrue=$_POST['adresse'];
$cp=$_POST['codePostal'];
$ville=$_POST['ville'];
$fix=$_POST['telFixe'] ;
)


et la remplacer par la ligne
 " />



______________________________
ima81=>merci pr la petite remark mé ça ne resou pa le pb :(.

comment retourner à ma dernière saisie au cas d'une erreur ( retour au même fomulaire)?
______________

Merci d'avance.

Sagesse
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

[Pas du tous, br Quand tu as un formulaire à faire remplire c est plus simple d utiliser une seul page pour tous géré, br Car avec ce système, en cas d erreurs tu peux réafficher le formulaire facilement cas il est déjà dans la page. Si tu ne veux pas afficher le formulaire en cas de remplissage correcte, tu affiche un liens Merci ou tu peux redirigé la page. br br Donc, tu ne touche pas à : br table border=0 cellspacing=0 cellpadding=4 bgcolor=#E0E0E0 tr td class=code //Récupérer les valeurs saisies br br $nom = $_POST[ nom ] br $prenom= $_POST[ prenom ] br br $adrue=$_POST[ adresse ] br $cp=$_POST[ codePostal ] br $ville=$_POST[ ville ] br $fix=$_POST[ telFixe ] br /td /tr /table br br Mais, remplace : br table border=0 cellspacing=0 cellpadding=4 bgcolor=#E0E0E0 tr td class=code < input type= text name= ville > /td /tr /table br Par br table border=0 cellspacing=0 cellpadding=4 bgcolor=#E0E0E0 tr td class=code < input type= text name= ville value= < ?=isset $_POST[ ville Pas du tous, br Quand tu as un formulaire à faire remplire c est plus simple d utiliser une seul page pour tous géré, br Car avec ce système, en cas d erreurs tu peux réafficher le formulaire facilement cas il est déjà dans la page. Si tu ne veux pas afficher le formulaire en cas de remplissage correcte, tu affiche un liens Merci ou tu peux redirigé la page. br br Donc, tu ne touche pas à : br table border=0 cellspacing=0 cellpadding=4 bgcolor=#E0E0E0 tr td class=code //Récupérer les valeurs saisies br br $nom = $_POST[ nom ] br $prenom= $_POST[ prenom ] br br $adrue=$_POST[ adresse ] br $cp=$_POST[ codePostal ] br $ville=$_POST[ ville ] br $fix=$_POST[ telFixe ] br /td /tr /table br br Mais, remplace : br table border=0 cellspacing=0 cellpadding=4 bgcolor=#E0E0E0 tr td class=code < input type= text name= ville > /td /tr /table br Par br table border=0 cellspacing=0 cellpadding=4 bgcolor=#E0E0E0 tr td class=code < input type= text name= ville value= < ?=isset $_POST[ ville])?$_POST["ville[mailto:toujours_zen@hotmail.com :question) ]
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

Remplace : < input type= text name= ville >
Par < input type= text name= ville value= < ?=isset $_POST[ ville)?...
Et tous les autres entré.

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]

PS: On peut me dire pourquoi quand je met du code ca bug 1 fois sur 3?
Messages postés
53
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
29 août 2005

merci :)
je vé tester et je te dirai le résultat.

Sagesse.
Messages postés
393
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
29 septembre 2008

Salut

Si tas juste -> $sql à s'afficherc que tu as mal fait tonn echo!!!

fo pas faire echo '$sql';//ca affiche sql
echo "$sql";//affiche logiquement la requete
echo $sql; //affichera aussi ta requete

ca permet une vérification de ta requete c assez pratique mais vu ton erreurs ca a pas l'air d'etre ca (javai pas vu sur mon premier post....).

en tout cas moi je trouve que c une tres bonne methode de debuggage des requetes sur les BDD...

++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller" 8-)
Messages postés
53
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
29 août 2005

j utilise easyphp, je ss obligée de gérer mes clès etrangères manuellement.j'ai créé ds chak table concernée la clè etrangère correspondante. voilà un exemple de 3 tables :

- candidat (idcandidat,nom,prenom,...,idcompetence)
- competence(idcompetence,description....idTypeCompetence)
- typeCompetence(idTypeCompetence,libellé,..)

lors de la saisie ds mon formulaire concernant l'ajout d'1 new candidat,je ve mettre une liste deroulante pr faciliter la saisie et aussi eviter tte erreur à ce niveau. est-ce qu'il y a une possibilité de faire un lien de sorte la liste deroulnte recupère le résultat d'une requête c-à-d afficher ds cette liste les compétences et pouvoir selectionner plusieurs ainsi les stocker ds notre base ?.

j'espère ke j'ai bien expliké mon pb sinon dites le moi !!

Merci d'avance.

Sagesse
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

C'est un programme basique, je croix qu'il est sur phpdébutant, cherche sur internet.

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]