Formulaire d'inscription limité

Résolu
Mydep Messages postés 66 Statut Membre -  
 Utilisateur anonyme -
Bonjour,

Je dois crée un formulaire d'inscription en limitant le nombre d'inscrit j'ai penser à ça :



<?php
mysql_connect("mysql.hostinger.fr","identifiant","mot de passe") // je me connecte  à ma base

mysql_select_db (u250331780_ins) // je sélectionne ma BD

$donnees = mysql_query('SELECT COUNT(id) AS inscription FROM u250331780_ins'); // Je compte ce qu'il y à dans ma base de donnée u250331780_ins à la table inscription 

$donnees = $req->fetch();
if ($donnees['inscription']>= 16)
{
  //On refuse l'inscription
}
else{

//mon formulaire
  
}
?>


Mes cours de sql sont loin et j'ai du mal à trouver ce que je veux sur le WEB. Mon problème c'est que rien ne se fait dans ma base de donnée.

Merci d'avance.

3 réponses

  1. Utilisateur anonyme
     
    Bonjour

    Tu mélanges deux manières différentes d'accéder à la base de données, ça ne peut pas marcher.
    Puisque tu te connectes par les fonctions mysql_ classiques, il faut aussi extraires les données par les fonctions mysql_ classiques:

    $donnees = $req->fetch();

    à remplacer par
    $donnees = mysql_fetch_array($req);
    0
  2. Mydep Messages postés 66 Statut Membre 1
     
    Bonjour,

    Voilà j'ai crée mon code a priori ya une erreur dans le "echo" qui lance le formulaire
    <?php
    
    mysql_connect("mysql.hostinger.fr", "u250331780_fab","***") or die ("impossible de se connecter");
    
    mysql_select_db("u250331780_fab") or die ("impossible de selectionner");
    
    mysql_query("CREATE TABLE adea(
    id INT NOT NULL AUTO_INCREMENT, 
    name VARCHAR(30), 
    age INT,
    PRIMARY KEY(id))")or die ("impossible de crée");
    
    
    $reponse= mysql_query('SELECT COUNT(id) AS nb_inscrit FROM adea');
     $donnees = mysql_fetch_assoc($reponse);
    
    if ($donnees['nb_inscrit']>= 2)
    {
      echo "L'evenement est complet";
    }
    else
    {
     
     echo "<form method="post">
    <label>Pseudo: <input type="text" name="pseudo"/></label><br/>
    <label>Age: <input type="text" name="age" /></label><br/>
    <input type="submit" value="inscrire"/>
    </form>";
    }
    mysql_close()
    ?>
    
    


    Merci d'avance.
    0
  3. Utilisateur anonyme
     
    Il y a bien une erreur dans le echo en effet
    Quand tu écris :
    echo "<form method="post">

    Comme tu entoures la chaîne affichée de ", elle s'arrête au second ", c'est à dire celui qui est avant post">. Tout ce qui suit est une vaste erreur.

    Tu as plusieurs méthodes pour contourner ce problème :
    Tu écris ta chaîne entre simples apostrophes et tu gardes des doubles à l'intérieur :
    echo '<form method="post">... <form>';

    Tu écris ta chaîne entre doubles quotes et tu garde des simples apostrophes à l'intérieur :
     echo "<form method='post'>... <form>";
    Tu utilises des simples apostrophes ou des doubles quotes partout, mais tu fais précéder celles qui sont à l'intérieur d'un \ pour qu'elles ne soit pas prises pour la fin :
     echo "<form method=\"post\">... <form>";
    ou
     echo '<form method=\'post\'>... <form>';

    Remarque supplémentaire : je vois une requête CREATE TABLE : tel que ton programme est écrit, tu vas essayer de re-créer la table à chaque appel du script... C'est beaucoup trop, il ne faut la créer qu'une seule fois !
    0