Formulaire d'inscription limité

Résolu/Fermé
Mydep Messages postés 60 Date d'inscription jeudi 30 septembre 2010 Statut Membre Dernière intervention 7 février 2015 - 15 avril 2013 à 15:37
 Utilisateur anonyme - 16 avril 2013 à 21:28
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.


A voir également:

3 réponses

Utilisateur anonyme
15 avril 2013 à 16:08
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
Mydep Messages postés 60 Date d'inscription jeudi 30 septembre 2010 Statut Membre Dernière intervention 7 février 2015 1
16 avril 2013 à 13:31
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
Utilisateur anonyme
16 avril 2013 à 21:28
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