Form PHP (ou HTML ?) d'incrémentation uniquement chiffres
TsunaJima
Messages postés
558
Statut
Membre
-
codeurh24 Messages postés 760 Date d'inscription Statut Membre Dernière intervention -
codeurh24 Messages postés 760 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
je dois organiser une bachelor party.
Je souhaite savoir quel est le budget de chacun pour les activité. Donc ce que chacun accepte de mettre comme € pour les activités (kart, striptease etc...).
Je cherche à faire une page simple avec 3 champs :
1 - Prénom
2 - Combien peux-tu dépenser pour les activités ? : (impossible de rentrer autre chose que des chiffres. Le chiffre 0 est accepté)
3 - Un champs ou on demande un mot de passe (histoire de pas avoir de personnes qui viennent sur la page sans y être invité) Pas besoin d'être sécurisé contre le FBI.
- Un bouton Submit.
Et pour finir le montant total disponible : ---- €
Le nbr de participant : ---/20 participants ont donné leur budget activité.
Je pense que pour stocker les infos, le plus simple est un ou plusieurs fichiers .txt mais je suis chez OVH et j'ai une Mysql donc si besoin pas de souci.
L'objectif c'est que moi j'ai les noms des personnes et les montants qui correspondent (que les gens sont prets à mettre) mais que le reste des personnes ne sache pas qui peux mettre combien d'euros. J'ai pas envi que certains se sentent obligé de mettre un gros montant sous prétexte qu'ils auraient l'air ridicules (aux yeux de certains seulement) etc...
Est-ce que quelqu'un sait faire ça sans que ça lui prenne 1 heure ou... c'est pas possible ? Je comprends bien que je demande quelque chose de complètement gratuit etc... Mais bon autant demander.
Merci
je dois organiser une bachelor party.
Je souhaite savoir quel est le budget de chacun pour les activité. Donc ce que chacun accepte de mettre comme € pour les activités (kart, striptease etc...).
Je cherche à faire une page simple avec 3 champs :
1 - Prénom
2 - Combien peux-tu dépenser pour les activités ? : (impossible de rentrer autre chose que des chiffres. Le chiffre 0 est accepté)
3 - Un champs ou on demande un mot de passe (histoire de pas avoir de personnes qui viennent sur la page sans y être invité) Pas besoin d'être sécurisé contre le FBI.
- Un bouton Submit.
Et pour finir le montant total disponible : ---- €
Le nbr de participant : ---/20 participants ont donné leur budget activité.
Je pense que pour stocker les infos, le plus simple est un ou plusieurs fichiers .txt mais je suis chez OVH et j'ai une Mysql donc si besoin pas de souci.
L'objectif c'est que moi j'ai les noms des personnes et les montants qui correspondent (que les gens sont prets à mettre) mais que le reste des personnes ne sache pas qui peux mettre combien d'euros. J'ai pas envi que certains se sentent obligé de mettre un gros montant sous prétexte qu'ils auraient l'air ridicules (aux yeux de certains seulement) etc...
Est-ce que quelqu'un sait faire ça sans que ça lui prenne 1 heure ou... c'est pas possible ? Je comprends bien que je demande quelque chose de complètement gratuit etc... Mais bon autant demander.
Merci
A voir également:
- Form PHP (ou HTML ?) d'incrémentation uniquement chiffres
- Editeur html - Télécharger - HTML
- Easy php - Télécharger - Divers Web & Internet
- Google form sans compte google - Forum Google Docs
- Comment activer les chiffres du clavier - Guide
- Où trouver identifiant 10 chiffres banque postale ✓ - Forum Réseaux sociaux
3 réponses
Bonjour,
Je ne comprend pas... tu as un hébergement chez ovh... tu connais donc le html/php un minimum non ?
bon..
voici le code brut de fonderie....
A toi d'y ajouter de la mise en page si necessaire
NB : je l'ai codé de tête sans tester.. si il y a des erreurs dis le nous ici qu'on t'aide à les corriger.
NB2 : Il faut que tu modifies les infos de connexion à la BDD par tes infos OVH
NB3: Il faut que tu créé une table pour stocker les résultats avec comme champs :
id (auto incrémenté), prenom(varchar), montant(integer)
EDIT : Ajout de la prise en compte du Password
Cordialement,
Jordane
Je ne comprend pas... tu as un hébergement chez ovh... tu connais donc le html/php un minimum non ?
bon..
voici le code brut de fonderie....
A toi d'y ajouter de la mise en page si necessaire
<?php
//$password = "Bachel0r";
// Ici .. mettre le code à la BDD
// par exemple :
$VALEUR_hote='localhost';
$VALEUR_port='port';
$VALEUR_nom_bd='nom_de_la_BDD';
$VALEUR_user='root';
$VALEUR_mot_de_passe='mot_de_passe';
$oPdo = new PDO('mysql:host='.$VALEUR_hote.';port='.$VALEUR_port.';dbname='.$VALEUR_nom_bd, $VALEUR_user, $VALEUR_mot_de_passe);
function getPost($name){
return isset($_POST[$name])?$_POST[$name]:'';
}
//Traitement ....
// Il faudra bien entendu..créer une table dans la BDD
// pour stocker les résultats...
// La table aura comme noms de colonnes
// les mêmes que les "input"
if(isset($_POST['enregistrer']){
$prenom=getPost('prenom');
$montant=getPost('montant');
$pwd = getPost('pwd');
// on vérifie le password
if($pwd==$password ){
$sql="INSERT INTO nom_de_la_table (prenom,montant) VALUES('$prenom','$montant')";
$oPdo->exec($sql);
}
}
// récupération du montant total de la cagnote..
$sql = "SELECT SUM(montant) as TOTAL
,count(prenom) as NB
FROM nom_de_la_table";
$result = $oPdo->query($sql);
$result->setFetchMode(PDO::FETCH_OBJ);
$fetchResult = $result->fetch()
$sommeMontant = isset($fetchResult['TOTAL'])?$fetchResult['TOTAL']:0;
$NB = isset($fetchResult['NB'])?$fetchResult['NB']:0;
?>
<html>
<meta charset=UTF-8>
<head>
<title>BP</title>
</head>
<body>
<h1><center>Bachelor Party</center></h1></br></br></br>
<div style="margin:10px">
<form method="post" action="">
<pre>
Prenom : <input type="text" size="50" name="prenom" style="margin-left:75px">
<br>
Participation : <input type="number" size="10" name="montant" style="margin-left:20px">
<br>
Password : <input type="password" name="pwd" style="margin-left:60px">
<br>
<input type="submit" value="valider" name="enregistrer">
</pre>
</form>
</div>
<div style="margin:40px">
Le nbr de participant : <?php echo $NB;?>/20 participants ont donné leur budget activité.
Total : <?php echo $sommeMontant ?> euros
</div>
</body>
</html>
NB : je l'ai codé de tête sans tester.. si il y a des erreurs dis le nous ici qu'on t'aide à les corriger.
NB2 : Il faut que tu modifies les infos de connexion à la BDD par tes infos OVH
NB3: Il faut que tu créé une table pour stocker les résultats avec comme champs :
id (auto incrémenté), prenom(varchar), montant(integer)
EDIT : Ajout de la prise en compte du Password
Cordialement,
Jordane
Bonjour.
Tu peux t'aider de ce code et le modifier pour l'ajuster a tes besoins.
il utilise un fichier texte gérer en xml.
je n'utilise pas de session php.
Le mot de passe est 123456
Tu peux t'aider de ce code et le modifier pour l'ajuster a tes besoins.
il utilise un fichier texte gérer en xml.
je n'utilise pas de session php.
Le mot de passe est 123456
<?php
if(createDataBase() === false){
//echo "bdd xml deja creer";
}
if( $_POST['pass'] == '123456'){
if( isset($_POST['prenom']) and
isset($_POST['somme']) and
!empty($_POST['somme']) and
!empty($_POST['prenom'])){
$data_brute = file_get_contents('data.xml');
if( substr_count($data_brute , '<prenom>'.$_POST['prenom']) == 0 ){
$data_brute = file_get_contents('data.xml');
$sxe = new SimpleXMLElement($data_brute);
$movie = $sxe->addChild('participant');
$movie->addChild('prenom', $_POST['prenom']);
$movie->addChild('somme', $_POST['somme']);
$fp = fopen('data.xml', 'w');
fwrite($fp, $sxe->asXML());
fclose($fp);
echo "Choix enregistrer, merci";
}else{
echo "Vous avez deja voté";
}
}
if( montantTotal() !== false)
{
echo "<br /><br />Il y a ".nbrParticiapant().' participant<br />';
echo "Montant total ".montantTotal()."€'<br /><br />";
}
?>
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>bachelor party</title>
</head>
<body>
<br />
<br />
<a href="./">deco</a>
<br />
<br />
<form action="" method="post">
<input name="pass" type="hidden" value="<?php echo $_POST['pass'] ;?>" />
<div>
<label>Prenom</label><input name="prenom" type="text" value="<?php echo @$_POST['prenom']?>" />
</div>
<div>
<label>Somme</label><input name="somme" type="text" pattern="[0-9]{1,3}" value="<?php echo @$_POST['somme']?>" />
</div>
<div>
<input id="submit" type="submit" value="valider" />
</div>
</form>
</body>
</html>
<?php
}else{
?>
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>bachelor party</title>
</head>
<body>
<form action="" method="post">
<div>
<label>Mot de Passe</label><input name="pass" type="password" />
</div>
<div>
<input id="submit" type="submit" value="valider" />
</div>
</form>
</body>
</html>
<?php
}
function createDataBase(){
if(!file_exists( "data.xml" )){
echo "creation de la bdd et de la table par defaut: OK<br />";
createTable();
return true;
}else{
$f = file_get_contents('data.xml');
if( empty($f) )
{
echo "récuperation de la table par defaut: OK<br />";
createTable();
return true;
}
return false;
}
}
function createTable(){
$xmlstr ='<?xml version=\'1.0\' standalone=\'yes\'?><data></data>';
$fp = fopen('data.xml', 'w');
fwrite($fp, $xmlstr);
fclose($fp);
}
function montantTotal(){
if(createDataBase() === false and nbrParticiapant() > 0)
{
$data_brute = file_get_contents('data.xml');
$data = new SimpleXMLElement($data_brute);
$montant = 0;
foreach ($data->participant as $participant) {
$montant += $participant->somme.'<br />';
}
return $montant;
}else{
return false;
}
}
function nbrParticiapant(){
$data_brute = file_get_contents('data.xml');
return substr_count($data_brute , '<participant>');
}
?>
puis le code pour lister les participants et leur budgets.
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>bachelor party</title>
</head>
<body>
<?php
$data_brute = file_get_contents('data.xml');
$data = new SimpleXMLElement($data_brute);
$montant = 0;
foreach ($data->participant as $participant) {
echo $participant->prenom.': '.$participant->somme.'<br />';
}
?>
</body>
</html>