Probleme de code php
Résolu
ana7
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
giheller Messages postés 1882 Date d'inscription Statut Membre Dernière intervention -
giheller Messages postés 1882 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un petit soucis avec ce code, le but est de verifier que l'activite auquel on veut s'inscrire correspond bien a son niveau.
Si le niveau correspond, l'inscription est effectuée, sinon un message d'erreur s'inscrit.
Merci de votre aide.
<?php
$numero=$_POST['numero'];
include ('connexion.php');
//recuperation des données
//Requete pour trouver le niveau
$req = ("SELECT * FROM classe WHERE libelle LIKE '%$classe%';");
$result_req = mysql_query($req) or die ('Erreur : '.mysql_error() );
if ($ligne=mysql_fetch_array($result_req)) {
$niveau_elev = $ligne['niveau'];
}
$req1 = ("SELECT * FROM activite WHERE id LIKE '%$numero%';");
$result_req1 = mysql_query($req1) or die ('Erreur : '.mysql_error() );
if ($ligne=mysql_fetch_array($result_req1)) {
$libelle = $result_req1['libelle'];
$nom_profass = $result_req1['nom_profass'];
$prenom_profass = $result_req1['prenom_profass'];
$nom_eleve=$nom;
$prenom_eleve=$prenom;
$classe_eleve=$classe;
$nbrmaxpart = $result_req1['nbrmaxpart'];
//verification du niveau
$niveau_eleve1 = $result_req1['niveau'];
}
//verification du choix
if ($niveau_eleve != $niveau_eleve1) { echo 'Vous ne pouvez pas vous inscrire dans une activité qui ne correspond pas à votre niveau';}
//Verification de l'dentifiant
$req2= mysql_query("SELECT * FROM inscription WHERE activite LIKE '%$libelle%' AND niveau LIKE '%$niveau_eleve%'");
// on compte le nombre de résultats
$res2 = mysql_num_rows($req2);
//Vérification
if ($res2=$nbrmaxpart)
{
echo "<br><center><font color=\"red\">Plus de place disponible</font></br>";
exit;
}
elseif ($res2<$nbrmaxpart)
{
$ajout = "INSERT INTO inscriptions (activite, nom_prof, prenom_prof, nom_eleve, prenom_eleve, classe_eleve)
VALUES('$libelle', '$nom_profass', '$prenom_profass', '$nom_eleve', '$prenom_eleve', '$classe_eleve');";
$res_ajout = mysql_query($ajout) or die ('Erreur : '.mysql_error() );
echo "<br><center><font color=\"red\">AJOUT EFFECTUE</font></br>";
exit;
}
//On ferme la cession SQL avec le serveur
mysql_close();
?>
J'ai un petit soucis avec ce code, le but est de verifier que l'activite auquel on veut s'inscrire correspond bien a son niveau.
Si le niveau correspond, l'inscription est effectuée, sinon un message d'erreur s'inscrit.
Merci de votre aide.
<?php
$numero=$_POST['numero'];
include ('connexion.php');
//recuperation des données
//Requete pour trouver le niveau
$req = ("SELECT * FROM classe WHERE libelle LIKE '%$classe%';");
$result_req = mysql_query($req) or die ('Erreur : '.mysql_error() );
if ($ligne=mysql_fetch_array($result_req)) {
$niveau_elev = $ligne['niveau'];
}
$req1 = ("SELECT * FROM activite WHERE id LIKE '%$numero%';");
$result_req1 = mysql_query($req1) or die ('Erreur : '.mysql_error() );
if ($ligne=mysql_fetch_array($result_req1)) {
$libelle = $result_req1['libelle'];
$nom_profass = $result_req1['nom_profass'];
$prenom_profass = $result_req1['prenom_profass'];
$nom_eleve=$nom;
$prenom_eleve=$prenom;
$classe_eleve=$classe;
$nbrmaxpart = $result_req1['nbrmaxpart'];
//verification du niveau
$niveau_eleve1 = $result_req1['niveau'];
}
//verification du choix
if ($niveau_eleve != $niveau_eleve1) { echo 'Vous ne pouvez pas vous inscrire dans une activité qui ne correspond pas à votre niveau';}
//Verification de l'dentifiant
$req2= mysql_query("SELECT * FROM inscription WHERE activite LIKE '%$libelle%' AND niveau LIKE '%$niveau_eleve%'");
// on compte le nombre de résultats
$res2 = mysql_num_rows($req2);
//Vérification
if ($res2=$nbrmaxpart)
{
echo "<br><center><font color=\"red\">Plus de place disponible</font></br>";
exit;
}
elseif ($res2<$nbrmaxpart)
{
$ajout = "INSERT INTO inscriptions (activite, nom_prof, prenom_prof, nom_eleve, prenom_eleve, classe_eleve)
VALUES('$libelle', '$nom_profass', '$prenom_profass', '$nom_eleve', '$prenom_eleve', '$classe_eleve');";
$res_ajout = mysql_query($ajout) or die ('Erreur : '.mysql_error() );
echo "<br><center><font color=\"red\">AJOUT EFFECTUE</font></br>";
exit;
}
//On ferme la cession SQL avec le serveur
mysql_close();
?>
A voir également:
- Probleme de code php
- Code ascii - Guide
- Code de déverrouillage oublié - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
4 réponses
voir commentaires:
<?php
$numero=$_POST['numero'];
include ('connexion.php');
//recuperation des données
//Requete pour trouver le niveau
$req = ("SELECT * FROM classe WHERE libelle LIKE '%$classe%';");
//ou est la variable $classe ? si tu utilises une variable il faut qu'elle existe avant dans le script
//es tu sur de vouloir tous les enregistrement qui contiennent approximativement $classe ou seulement ceux qui ont exactement $classe
$result_req = mysql_query($req) or die ('Erreur : '.mysql_error() );
if ($ligne=mysql_fetch_array($result_req)) {
$niveau_elev = $ligne['niveau'];
}
$req1 = ("SELECT * FROM activite WHERE id LIKE '%$numero%';");
$result_req1 = mysql_query($req1) or die ('Erreur : '.mysql_error() );
if ($ligne=mysql_fetch_array($result_req1)) {
//erreurs a toutes les lignes ci dessous
//il faut $xxxxxx=$ligne['xxxxxx']; et pas $result_req1['xxxxxx'];
$libelle = $result_req1['libelle'];
$nom_profass = $result_req1['nom_profass'];
$prenom_profass = $result_req1['prenom_profass'];
$nom_eleve=$nom;
$prenom_eleve=$prenom;
$classe_eleve=$classe;
$nbrmaxpart = $result_req1['nbrmaxpart'];
.....
<?php
$numero=$_POST['numero'];
include ('connexion.php');
//recuperation des données
//Requete pour trouver le niveau
$req = ("SELECT * FROM classe WHERE libelle LIKE '%$classe%';");
//ou est la variable $classe ? si tu utilises une variable il faut qu'elle existe avant dans le script
//es tu sur de vouloir tous les enregistrement qui contiennent approximativement $classe ou seulement ceux qui ont exactement $classe
$result_req = mysql_query($req) or die ('Erreur : '.mysql_error() );
if ($ligne=mysql_fetch_array($result_req)) {
$niveau_elev = $ligne['niveau'];
}
$req1 = ("SELECT * FROM activite WHERE id LIKE '%$numero%';");
$result_req1 = mysql_query($req1) or die ('Erreur : '.mysql_error() );
if ($ligne=mysql_fetch_array($result_req1)) {
//erreurs a toutes les lignes ci dessous
//il faut $xxxxxx=$ligne['xxxxxx']; et pas $result_req1['xxxxxx'];
$libelle = $result_req1['libelle'];
$nom_profass = $result_req1['nom_profass'];
$prenom_profass = $result_req1['prenom_profass'];
$nom_eleve=$nom;
$prenom_eleve=$prenom;
$classe_eleve=$classe;
$nbrmaxpart = $result_req1['nbrmaxpart'];
.....
Merci, jai modifier le code mais maintenant j'ai toujours le message "'Vous ne pouvez pas vous inscrire dans une activité qui ne correspond pas à votre niveau';" même quand l'enregistrement devrait se faire.
Voici le code:
<?php
$numero=$_POST['numero'];
include ('connexion.php');
//recuperation des données
//Requete pour trouver le niveau
$req = ("SELECT * FROM classe WHERE libelle LIKE '%$classe%';");
$result_req = mysql_query($req) or die ('Erreur : '.mysql_error() );
if ($ligne=mysql_fetch_array($result_req)) {
$niveau_elev = $ligne['niveau'];
}
$req1 = ("SELECT * FROM activite WHERE id LIKE '%$numero%';");
$result_req1 = mysql_query($req1) or die ('Erreur : '.mysql_error() );
if ($ligne1=mysql_fetch_array($result_req1)) {
$libelle = $ligne1['libelle'];
$nom_profass = $ligne1['nom_profass'];
$prenom_profass = $ligne1['prenom_profass'];
$nom_eleve=$ligne1['nom_eleve'];
$prenom_eleve=$ligne1['prenom_eleve'];
$classe_eleve=$classe;
$nbrmaxpart = $ligne1['nbrmaxpart'];
//verification du niveau
$niveau_eleve1 = $ligne1['niveau'];
}
if (($nom_eleve==$nom) && ($prenom_eleve==$prenom)) {
echo 'Vous êtes déjà inscrit';
exit;
}
//verification du choix
elseif ($niveau_eleve != $niveau_eleve1) {
echo 'Vous ne pouvez pas vous inscrire dans une activité qui ne correspond pas à votre niveau';
exit;
}
else {
//Verification de l'dentifiant
$req2= mysql_query("SELECT * FROM inscription WHERE activite LIKE '%$libelle%' AND niveau LIKE '%$niveau_eleve%'");
// on compte le nombre de résultats
$res2 = mysql_num_rows($req2);
//Vérification
if ($res2==$nbrmaxpart)
{
echo "<br><center><font color=\"red\">Plus de place disponible</font></br>";
exit;
}
elseif ($res2<=$nbrmaxpart)
{
$ajout = "INSERT INTO inscriptions (activite, nom_prof, prenom_prof, nom_eleve, prenom_eleve, classe_eleve)
VALUES('$libelle', '$nom_profass', '$prenom_profass', '$nom_eleve', '$prenom_eleve', '$classe_eleve');";
$res_ajout = mysql_query($ajout) or die ('Erreur : '.mysql_error() );
echo "<br><center><font color=\"red\">AJOUT EFFECTUE</font></br>";
exit;
}
}
//On ferme la cession SQL avec le serveur
mysql_close();
?>
Voici le code:
<?php
$numero=$_POST['numero'];
include ('connexion.php');
//recuperation des données
//Requete pour trouver le niveau
$req = ("SELECT * FROM classe WHERE libelle LIKE '%$classe%';");
$result_req = mysql_query($req) or die ('Erreur : '.mysql_error() );
if ($ligne=mysql_fetch_array($result_req)) {
$niveau_elev = $ligne['niveau'];
}
$req1 = ("SELECT * FROM activite WHERE id LIKE '%$numero%';");
$result_req1 = mysql_query($req1) or die ('Erreur : '.mysql_error() );
if ($ligne1=mysql_fetch_array($result_req1)) {
$libelle = $ligne1['libelle'];
$nom_profass = $ligne1['nom_profass'];
$prenom_profass = $ligne1['prenom_profass'];
$nom_eleve=$ligne1['nom_eleve'];
$prenom_eleve=$ligne1['prenom_eleve'];
$classe_eleve=$classe;
$nbrmaxpart = $ligne1['nbrmaxpart'];
//verification du niveau
$niveau_eleve1 = $ligne1['niveau'];
}
if (($nom_eleve==$nom) && ($prenom_eleve==$prenom)) {
echo 'Vous êtes déjà inscrit';
exit;
}
//verification du choix
elseif ($niveau_eleve != $niveau_eleve1) {
echo 'Vous ne pouvez pas vous inscrire dans une activité qui ne correspond pas à votre niveau';
exit;
}
else {
//Verification de l'dentifiant
$req2= mysql_query("SELECT * FROM inscription WHERE activite LIKE '%$libelle%' AND niveau LIKE '%$niveau_eleve%'");
// on compte le nombre de résultats
$res2 = mysql_num_rows($req2);
//Vérification
if ($res2==$nbrmaxpart)
{
echo "<br><center><font color=\"red\">Plus de place disponible</font></br>";
exit;
}
elseif ($res2<=$nbrmaxpart)
{
$ajout = "INSERT INTO inscriptions (activite, nom_prof, prenom_prof, nom_eleve, prenom_eleve, classe_eleve)
VALUES('$libelle', '$nom_profass', '$prenom_profass', '$nom_eleve', '$prenom_eleve', '$classe_eleve');";
$res_ajout = mysql_query($ajout) or die ('Erreur : '.mysql_error() );
echo "<br><center><font color=\"red\">AJOUT EFFECTUE</font></br>";
exit;
}
}
//On ferme la cession SQL avec le serveur
mysql_close();
?>