Vous n'êtes pas identifié(e).
Bonjour,
Je chercher à faire des formulaires de saisis de résultats pour mon site de volley.
Mais en PHP, je suis très très novice.
Donc , voila dans les grandes lignes
- Je fait un formulaire de saisis avec plusieurs champs accessible via l'espace membre.
- Ensuite, je voudrai que les données du formulaire soient enregistrées dans un fichier sur le zite (du style compteur de visite de fredo42)
- Et les récupéré dans une page pour qu'ils apparaissent au emplacement souhaité.
Je voudrai utiliser cette méthode pour simplifier la saisis des résultats par les membres du club.
Je fait appel à vos compétence..
Je vous remercie d'avant, car, je ne doute pas qu'il y aura surement une personne qui vas pouvoir m'aider.
A bientôt
dedega
Hors ligne
Bonsoir dedega,
Mais c'est presque du dev spécifique ça
A quel niveau tu coinces ?
a+
Jean-Paul
Hors ligne
Bonjour JPG,
Je crée un formulaire (la je sais faire)
par exemple :
<form action="verif.php" method="post">
<p>
<input type="text" name="loco" />
<input type="text" name="visiteur" />
<input type="submit" value="Valider" />
</p>
</form>
Il faudrait que je crée un fichier en php par exemple (verif.php) pour traiter les infos du formulaire et les stocker dans un fichier
voila ce que j'ai commencer a faire :
<?php
//pour stockées les données
$fichier = 'resultregio.txt';
if( !file_exists($fichier) ) {
$fp = fopen($fichier, "w");
fclose($fp);
}
$loco = $_POST['loco'];
$visiteur = $_POST['visiteur'];
$resuloco = $_POST['resuloco'];
$resuvisit = $_POST['resuvisit'];
$scoreloco1 = $_POST['scoreloco1'];
$scoreloco2 = $_POST['scoreloco2'];
$scoreloco3 = $_POST['scoreloco3'];
$scoreloco4 = $_POST['scoreloco4'];
$scoreloco5 = $_POST['scoreloco5'];
$scorevisit1 = $_POST['scorevisit1'];
$scorevisit2 = $_POST['scorevisit2'];
$scorevisit3 = $_POST['scorevisit3'];
$scorevisit4 = $_POST['scorevisit4'];
$scorevisit5 = $_POST['scorevisit5'];
$resultregio = $loco.$visiteur ; //etc...
$fp = fopen($fichier,"r+");
fputs($fp, $resultregio);
fclose($fp);
Cet exemple et surement bourré d"erreurs désolé .
Ensuite je voudrais pouvoir recharger les variables de ce fichier pour les intégrer dans une page.
Comme j'ai dit, je suis novice en PHP et je ne sais pas par quel bout commencer, si j'avais un exemple fonctionnel simple et commenté cela m'aiderai un peu à mieux comprendre.
A +
et Merci encore
Dernière modification par dedega (14/01/2015 07:09:28)
Hors ligne
J' ai déjà réalisé ce genre de chose...
Si tu regarde sur mon site : http://www.c-too.com/cms/zitedemo/
Les pages "Catalogue, Liste Bijoux, et Calcul" sont le résultat d'un fichier txt écrit par un formulaire.
Si tu regarde en bas de chacune il y-a un lien vers le fichier txt généré, contenant les datas que tu utilise dans la page...
Dit-moi si ça t'intéresse
Stéphane
Webdesign AvantageWeb
Hors ligne
Bonjour,
Merci, oui c'est à-peu-près ce que je cherche à faire.
il faudrait que j'adapte...
Ce que je voudrai faire :
stocker les données du formulaire dans un fichier pour les récupérer dans la page.
A+
mon formulaire par exemple :
et sur la page du site par exemple les infos viendraient se mettre à jour.
Hors ligne
je t'envoie ça, sur ton email (de ton site web) ...
Stéphane
Webdesign AvantageWeb
Hors ligne
Bonjour,
Super sympa
Je vais regarde tout ça, je ne sais pas si je vais tout comprendre, mais, je vais essayer
Merci
Zitement-votre,
DEDEGA
Hors ligne
Bonsoir,
Je remercie Stefpei pour son aide, j'ai quand même du mal pour tout comprendre
Voila ce que j'ai faite pour mon formulaire :
[== PHP et HTML ==]
<?php
//pour stockées les données du formulaire
$fichier = 'resultregio.txt';
if( !file_exists($fichier) ) {
$fp = fopen($fichier, "w");
fwrite($fp, serialize(array()));
fclose($fp);
}
$dateregio = $_POST['dateregio'];
$loco = $_POST['loco'];
$visiteur = $_POST['visiteur'];
$resuloco = $_POST['resuloco'];
$resuvisit = $_POST['resuvisit'];
$scoreloco1 = $_POST['scoreloco1'];
$scoreloco2 = $_POST['scoreloco2'];
$scoreloco3 = $_POST['scoreloco3'];
$scoreloco4 = $_POST['scoreloco4'];
$scoreloco5 = $_POST['scoreloco5'];
$scorevisit1 = $_POST['scorevisit1'];
$scorevisit2 = $_POST['scorevisit2'];
$scorevisit3 = $_POST['scorevisit3'];
$scorevisit4 = $_POST['scorevisit4'];
$scorevisit5 = $_POST['scorevisit5'];
$resultregio = array (
'date' => array($dateregio),
'equipes' => array($loco,$visiteur),
'resultats' => array($resuloco,$resuvisit),
'set1' => array($scoreloco1,$scorevisit1),
'set2' => array($scoreloco2,$scorevisit2),
'set3' => array($scoreloco3,$scorevisit3),
'set4' => array($scoreloco4,$scorevisit4),
'set5' => array($scoreloco5,$scorevisit5)
);
$fp = fopen($fichier,"w");
fwrite($fp, serialize($resultregio));
fclose($fp);
?><form action="" method="post">
<table style="width: 80%;" align="center" border="0" cellpadding="3" cellspacing="0">
<tbody>
<tr>
<td colspan="3" align="center" valign="top"><span style="font-size: small; font-family: comic sans ms,sans-serif;"><strong>SAISIS DES RÉSULTATS RÉGIONALE</strong></span><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"></span></strong></td>
</tr>
<tr>
<td colspan="3" align="center" valign="top"><strong><span style="font-size: small; font-family: arial,helvetica,sans-serif;">Date :</span></strong><span style="font-size: small; font-family: comic sans ms,sans-serif;"><strong><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"> <input type="text" name="dateregio" /></span></strong></strong></span></td>
</tr>
<tr>
<td align="center" valign="top"> </td>
<td style="background-color: #99ff99;" align="center" valign="middle"><span style="font-size: small;"><strong><span style="font-family: arial,helvetica,sans-serif;">Équipe local :</span></strong></span></td>
<td style="background-color: #ffff99;" align="center" valign="middle"><span style="font-size: small;"><strong><span style="font-family: arial,helvetica,sans-serif;">Équipe visiteur :</span></strong></span></td>
</tr>
<tr>
<td align="center" valign="top"> </td>
<td style="background-color: #99ff99;" align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><input type="text" name="loco" /></span></strong></td>
<td style="background-color: #ffff99;" align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><input type="text" name="visiteur" /></span></strong></td>
</tr>
<tr>
<td align="center" valign="top"> </td>
<td style="background-color: #99ff99;" align="center" valign="middle"><span style="font-size: small;"><strong><span style="font-family: arial,helvetica,sans-serif;">Résultats :</span></strong></span></td>
<td style="background-color: #ffff99;" align="center" valign="middle"><span style="font-size: small;"><strong><span style="font-family: arial,helvetica,sans-serif;">Résultats :</span></strong></span></td>
</tr>
<tr>
<td align="center" valign="top"> </td>
<td style="background-color: #99ff99;" align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"></span></strong><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><input type="text" name="resuloco" /></span></strong></td>
<td style="background-color: #ffff99;" align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><input type="text" name="resuvisit" /></span></strong></td>
</tr>
<tr>
<td align="center" valign="middle"> </td>
<td style="background-color: #99ff99;" align="center" valign="middle"><span style="font-size: small;"><strong><span style="font-family: arial,helvetica,sans-serif;">Scores :</span></strong></span></td>
<td style="background-color: #ffff99;" align="center" valign="middle"><span style="font-size: small;"><strong><span style="font-family: arial,helvetica,sans-serif;">Scores :</span></strong></span></td>
</tr>
<tr>
<td align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;">Set 1<br /></span></strong></td>
<td style="background-color: #99ff99;" align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><input type="text" name="scoreloco1" /></span></strong><strong><span align="center"> </span></strong></td>
<td style="background-color: #ffff99;" align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><input type="text" name="scorevisit1" /></span></strong></td>
</tr>
<tr>
<td align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;">Set 2<br /></span></strong></td>
<td style="background-color: #99ff99;" align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><input type="text" name="scoreloco2" /></span></strong></span></strong></td>
<td style="background-color: #ffff99;" align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><input type="text" name="scorevisit2" /></span></strong></td>
</tr>
<tr>
<td align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;">Set 3<br /></span></strong></td>
<td style="background-color: #99ff99;" align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><input type="text" name="scoreloco3" /></span></strong></span></strong></td>
<td style="background-color: #ffff99;" align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><input type="text" name="scorevisit3" /></span></strong></td>
</tr>
<tr>
<td align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;">Set 4<br /></span></strong></td>
<td style="background-color: #99ff99;" align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><input type="text" name="scoreloco4" /></span></strong></span></strong></td>
<td style="background-color: #ffff99;" align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><input type="text" name="scorevisit4" /></span></strong></td>
</tr>
<tr>
<td align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;">Set 5</span></strong></td>
<td style="background-color: #99ff99;" align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><input type="text" name="scoreloco5" /></span></strong></span></strong></td>
<td style="background-color: #ffff99;" align="center" valign="middle"><strong><span style="font-size: x-small; font-family: arial,helvetica,sans-serif;"><input type="text" name="scorevisit5" /></span></strong></td>
</tr>
<tr>
<td align="center" valign="middle"> </td>
<td style="background-color: #99ff99;" align="center" valign="middle"> </td>
<td style="background-color: #ffff99;" align="center" valign="middle"> </td>
</tr>
<tr>
<td align="center" valign="middle"> </td>
<td align="center" valign="middle"> </td>
<td align="center" valign="middle"><input type="submit" value="Valider" /></td>
</tr>
</tbody>
</table>
</form>
Voila le contenu du fichiers sauvegardé:
[== Indéfini ==]
a:8:{s:4:"date";a:1:{i:0;s:10:"17/01/2015";}s:7:"equipes";a:2:{i:0;s:5:"brive";i:1;s:5:"mende";}s:9:"resultats";a:2:{i:0;s:1:"0";i:1;s:1:"3";}s:4:"set1";a:2:{i:0;s:2:"19";i:1;s:2:"25";}s:4:"set2";a:2:{i:0;s:2:"21";i:1;s:2:"25";}s:4:"set3";a:2:{i:0;s:2:"22";i:1;s:2:"25";}s:4:"set4";a:2:{i:0;s:0:"";i:1;s:0:"";}s:4:"set5";a:2:{i:0;s:0:"";i:1;s:0:"";}}
La ou je blocs, c'est pour recharger les données et les remettre en variable.
A +
Dedega
Hors ligne
Bonjour,
Tu as des exemples un peu partout dans ZitePlus et ses modules (et avec plusieurs variantes )
Par exemple comment.php
Les fonctions importantes sont file_get_contents() et unserialize() pour ce que tu veux faire.
a+
Jean-Paul
Hors ligne
Bonsoir,
Voila ce que j'ai fait pour extraire mes données, ensuite, il faut que je trouve pour pouvoir les exploiter ?
dur-dur pour moi qui débute en php, apprendre la syntaxe et les fonctions et le code
et en plus avec les différentes versions de PHP 4.xx et 5.xx
Les exemples que l'on trouve sur le web ne fonctionnent pas toujours.
Je suis sous PHP5.4
[== PHP ==]
<?php
$str = file_get_contents('resultregio.txt');
$arr = unserialize($str);
foreach ($arr as $user) {
list($firstName, $lastName) = $user;
var_dump($firstName, $lastName);
echo "<br/>";
}
?>
ce qui donne :
string(10) "17/01/2015" NULL
string(5) "brive" string(5) "mende"
string(1) "0" string(1) "3"
string(2) "19" string(2) "25"
string(2) "21" string(2) "25"
string(2) "22" string(2) "25"
string(0) "" string(0) ""
string(0) "" string(0) ""
Hors ligne
Bonjour,
Il faut que tu utilises les données, comme tu les as sauvegardés.
Vu ta sauvegarde, pour les réutiliser:
<?php
$str = file_get_contents('resultregio.txt');
$resultregio = unserialize($str);
$dateregio = $resultregio['date'][0];
$loco = $resultregio['equipes'][0];
$visiteur = $resultregio['equipes'][1];
$resuloco = $resultregio['resultats'][0];
$resuvisit = $resultregio['resultats'][1];
$scoreloco1 = $resultregio['set1'][0];
// etc pour les autres champs
un petit exemple d'affichage
print_r("Résultat du ${dateregio}, ${loco}($resultloco) contre visiteur ${visiteur}(${resuvisit})");
?>
a+
Jean-Paul
Hors ligne
Bonjour,
OK, je comprend mieux.
quand on n'a pas le truc ...
Je vais mettre des conditions sur le formulaire pour éviter les erreurs de saisis.
Je te dit un grand merci à toi et Stefpei
pour toute votre aide.
Tu connais des bouquins sur le php ?
A bientôt
dédéga
Hors ligne
Je vais mettre des conditions sur le formulaire pour éviter les erreurs de saisis.
Oui, cela sera mieux ;-)
Je te dit un grand merci à toi et Stefpei
pour toute votre aide.
Tu connais des bouquins sur le php ?
Je n'ai pas de titre en tête.
Pour ton formulaire de saisie, pense a essayer de réutiliser ce qui existe déjà.
Par exemple, dans ton cas:
Ce code
$fp = fopen($fichier,"w");
fwrite($fp, serialize($resultregio));
fclose($fp);
et celui-ci
$this->writedata($fichier,$resultregio)
feront la même chose sous ZitePlus
Dans le même ordre d'idée, pour tes formulaires, moyennant l'inclusion d'outils.php
tu auras des fonctions pour gérer plus facilement les retours des formulaires ou les valeurs de fichiers.
- function no_mq_gpc($s) pour enlever les "magic_quotes"
- function zp_secure($s) pour échapper tous les caractères "dangereux"
- function zp_secure_POST($s,$dft_s='') pareil, mais en tenant compte de la variable $s du formulaire et en précisant une valeur par défaut
- function zp_secure_ident($s,$ispost=true) Pour avoir une saisie alphanumérique(et -_) depuis une chaîne ou une variable de formulaire
Tu as des exemples d'utilisation dans différents modules de ZitePlus; par exemple dans page_admin.php.
Petit à petit, on va retrouver ces fonctions dans tous les modules
a+
Jean-Paul
Hors ligne
Merci encore
pour toutes tes infos,
J'ai mis en place le formulaire pour la saisi des résultats (pour l'équipe Élite) accessible sur une page protégé par login et mot de passe et j'ai fait apparaitre les résultats (élite) sur la page d'accueil, ça fonctionne très bien, je vais faire la même chose pour les résultats de la régionale, que j'avais prévu de faire au départ.
Mais avant, je vais optimiser tout ça en appliquant tes recommandations et aussi sur la sécurité de saisi.
Une chose à la fois (dur-dur pour mes neurones)
A+
dedega
Hors ligne