Intranet PHP/MySql (suite site web dynamique!)

cs_sagesse Messages postés 53 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 29 août 2005 - 20 août 2004 à 10:59
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004 - 23 août 2004 à 18:22
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

cs_sagesse Messages postés 53 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 29 août 2005
20 août 2004 à 11:00
Le message d erreur :

Notice: Undefined variable: enregistre

Merci .

Sagesse.
0
ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 septembre 2008
20 août 2004 à 11:38
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-)
0
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
20 août 2004 à 11:52
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
0
cs_sagesse Messages postés 53 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 29 août 2005
20 août 2004 à 15:32
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
20 août 2004 à 20:08
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-)
0
cs_ima81 Messages postés 12 Date d'inscription samedi 30 août 2003 Statut Membre Dernière intervention 28 février 2005
21 août 2004 à 23:10
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
0
cs_sagesse Messages postés 53 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 29 août 2005
23 août 2004 à 12:41
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
0
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
23 août 2004 à 12:52
[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) ]
0
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
23 août 2004 à 13:05
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?
0
cs_sagesse Messages postés 53 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 29 août 2005
23 août 2004 à 13:52
merci :)
je vé tester et je te dirai le résultat.

Sagesse.
0
ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 septembre 2008
23 août 2004 à 14:51
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-)
0
cs_sagesse Messages postés 53 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 29 août 2005
23 août 2004 à 16:19
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
0
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
23 août 2004 à 18:22
C'est un programme basique, je croix qu'il est sur phpdébutant, cherche sur internet.

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