Bonjour,
Je suis nouveau ici et je bloque sur un code pour:
Limité à 24 équipes pour le dimanche et arrêter les inscriptions le jeudi 3 jours avant à 23h si pas 24 inscrits.
Ceci pour pouvoir passer les commandes de repas à midi.
Je pense que c'est un code avec le (if) voire le (while), mais d'une part je n'arrive pas à créer cette fonction et d'autre part je ne sais pas comment la placer dans le code.

Je voudrais savoir aussi pourquoi lorsque je suis un tuto en php concernant le formulaire d'inscription cela me fait une erreur lorsque j'écris $conn = $sqp->execute();?

Voilà le code de ma page:

 if (isset($_POST['enregistrer']))
    {
        if(isset($_POST['tel']) && isset($_POST['email']) && isset($_POST['nom']) && isset($_POST['club']) && isset($_POST['nom1']) && isset($_POST['club1']))
        {
            if(!empty($_POST['tel']) AND !empty($_POST['nom']) AND !empty($_POST['club']) AND !empty($_POST['nom1']) AND !empty($_POST['club1']))
            {
                $tel = $_POST['tel'];
                $email = $_POST['email'];
                $nom = $_POST['nom'];
                $club = $_POST['club'];
                $nom1 = $_POST['nom1'];
                $club1 = $_POST['club1'];
        
            
           
                $sql = "INSERT INTO feminin (tel, email, nom, club, nom1, club1)
                VALUES ('$tel', '$email', '$nom', '$club', '$nom1', '$club1')";
                if ($conn->query($sql) === TRUE)
                {
                    //echo "New record created successfully";
                }
                else
                {
                    echo "Error: " . $sql . "<br>" . $conn->error;
                }
                
            }
        }
    }        
Salut,
Merci pour ces réponses mais là je dois dire que je suis encore plus largué, déjà que c'était pas la joie jusqu'à maintenant.
Dis moi ce qui est mieux pour limité les inscriptions.
de mettre ça :
$participants = 0;
if($participants <=24){ echo "Désolé le concours est complet";}
et continué

Cela marchait en local par contre cela continuait d'inscrire dans la bd.

Ensuite j'ai essayé avec le while, car j'en utilise un pour lire les inscriptions.
Mais là je bloque aussi car je ne sais pas ou le placer.

Comme j'ai si bien dis je suis vraiment un débutant, si j'étais beaucoup plus jeune j'assimilerais plus vite mais là c'est vraiment pas le cas.

Désolé pour votre perte de temps.

Christian
Salut

donc tu n'a pas répondu à ma question.

Pour le moment tout ce que je peux te dire c'est qu'il faudrait, AVANT INSERT, faire un SELECT sur ta table avec un COUNT() sql pour tester le nombre d'inscrit, et sur le résultat du SELECT faire un IF ($resultat <= 24) alors faire l'insert. Sinon faire le message d'erreur
en gros,


 
                $sql = "SELECT COUNT(*) FROM feminin";
                $result = $con->prepare($sql);
                $result->execute();
                $number_of_rows = $result->fetchColumn();

                if($number_of_rows <= 24)
                {
                    $sql = "INSERT INTO feminin (tel, email, nom, club, nom1, club1)
                    VALUES ('$tel', '$email', '$nom', '$club', '$nom1', '$club1')";
                    if ($conn->query($sql) === TRUE)
                    {
                        //echo "New record created successfully";
                    }
                    else
                    {
                        echo "Error: " . $sql . "<br>" . $conn->error;
                    }
                }
                else
                {
                    echo "Nombre d'inscrit maximum atteint. ";
                } 

Modifié par JENCAL (20 Oct 2021 - 09:58)
Salut et merci de ton aide,

J'ai essayé ton code mais j'ai 'impression qu'il ne reconnait pas le (fetchColumn) car il reste souligné.
Et il me met cette ligne d'erreur.
( Erreur (Fatal error: Uncaught Error: Call to undefined method mysqli_stmt::fetchColumn() in C:\xampp\htdocs\Nouveau_Formulaire\feminin.php:20 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Nouveau_Formulaire\feminin.php on line 20) )

Est-ce que tu peux me die pourquoi une personne me déconseille de mettre le code ici?

Par contre quoique je ne sais pas si il y a un conséquence mais pour l'instant je n'ais pas vue l'erreur concernant ($result->execute();)
[code=php
<?php
require_once ('db/concoursDB.php');

if (isset($_POST['enregistrer']))
{
if(isset($_POST['tel']) && isset($_POST['email']) && isset($_POST['nom']) && isset($_POST['club']) && isset($_POST['nom1']) && isset($_POST['club1']))
{
if(!empty($_POST['tel']) AND !empty($_POST['nom']) AND !empty($_POST['club']) AND !empty($_POST['nom1']) AND !empty($_POST['club1']))
{
$tel = $_POST['tel'];
$email = $_POST['email'];
$nom = $_POST['nom'];
$club = $_POST['club'];
$nom1 = $_POST['nom1'];
$club1 = $_POST['club1'];

$sql = "SELECT COUNT(*) FROM feminin";
$result = $conn->prepare($sql);
$result->execute();
$number_of_rows = $result->fetchColumn();

if($number_of_rows <= 24)
{
$sql = "INSERT INTO feminin (tel, email, nom, club, nom1, club1)
VALUES ('$tel', '$email', '$nom', '$club', '$nom1', '$club1')";
if ($conn->query($sql) === TRUE)
{
//echo "New record created successfully";
}
else
{
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
else
{
echo "Nombre d'inscrit maximum atteint !";
}
}
}
}

?>



][/code]
Christian54 a écrit :
Salut et merci de ton aide,

J'ai essayé ton code mais j'ai 'impression qu'il ne reconnait pas le (fetchColumn) car il reste souligné.
Et il me met cette ligne d'erreur.
( Erreur (Fatal error: Uncaught Error: Call to undefined method mysqli_stmt::fetchColumn() in C:\xampp\htdocs\Nouveau_Formulaire\feminin.php:20 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Nouveau_Formulaire\feminin.php on line 20) )

Oué c'est normal, c'est du PDO. toi tu utilise MYSQLI.. donc je te laisse adapté. ou passer en PDO.

Christian54 a écrit :

Est-ce que tu peux me die pourquoi une personne me déconseille de mettre le code ici?

Peux-tu me détailler ce qu'il t'a dit exactement ? et du coup s'il déconseille ça, quel est son conseil ?
Salut,
Désolé j'ai mis le mail à la poubelle.
Bien je vais refaire mon code en PDO cette fois et j'espère que cela va marché?
Est-ce que tu pourrais me dire comment faire avec mon menu si c'est possible?
Voilà je m'explique pour éviter d'avoir toutes les pages du concours avec les autres j'ai fais un dossier concours.
Lorsque tu clique sur un concours tu t'inscris cela fonctionne bien
Le code pour aller sur la page est <a href="concours/page.php></a>
mon problème est pour le retour lorsque je clique sur le bouton accueil par exemple cela me fait une erreur 404 car il ne trouve plus le chemin.
Et lorsque je regarde la barre de google je m'aperçois que la ligne est:
http://localhost/concours/page.php#
J'ai bien compris qu'il reste sur le dossier concours.
Par contre je ne pense pas que je doive faire 2 menus 1 pour la menu et sous menu.
Et 1 pour sortir des dossiers et retourner dans le menu principal.

Est-il possible de trouvé un formulaire de contact prêt à l'emploi?

Dans l'attente je te et vous en remercie d'avance.
Christian
Salut,
J'avais compris le principe pour ouvrir une page d'un sous menu qui se trouve dans un autre dossier.
pour cela tu fais (nom du dossier/page.php)
Mon problème n'est pas le chemin pour y aller.
Mais c'est celui pour revenir dans l'accueil.
Si tu veux mes pages s'ouvrent toutes avec la même vue.
Le header
Le menu
Le contenu
Le footer
Et lorsque je clique sur ( par exemple) le bouton Galerie cela ouvre la page galerie avec:
environ 10 à 15 cards dans lequel il y a une photo(voyage), un titre (voyage à ...), un bouton (année) qui lorsque tu clique te renvoie dans un dossier (Galerie_photos) et ouvre la page voyage_2010.php

Lorsque je bloque sur un problème de ce genre j'enlève la page du dossier , mais cela me fait beaucoup de pages dans le même endroit et pour faire des recherches ou des modifications c'est pas simple.