Forum TOWeb

17 Mai 2012 à 01h29

Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
Identifiez-vous Inscrivez-vous Accueil du forum Recherche avancée Aide sur le forum
A court d'idées cadeaux ? OFFREZ TOWEB POUR NOEL !
+  Forum TOWeb
|-+  TOWeb
| |-+  Scripts & astuces pour votre site
| | |-+  [RESOLU] Demande aide création script
« sujet précédent | | sujet suivant »
Pages: [1] 2 3 ... 5 Bas de page Imprimer
Auteur Fil de discussion: [RESOLU] Demande aide création script  (Lu 1231 fois)
saez58
Full Member
***

Votes : +1/-0
Messages: 165


WWW
« le: 03 Février 2012 à 14h18 »

Bonjour,

afin d'améliorer mon site (un peu) et me simplifier la vie (beaucoup) je voudrais créer un script (qui devra être en php je pense) qui me colorie du texte dans un paragraphe B en fonction de ce qui est rentré dans un formulaire du paragraphe A.

Une petite image pour bien comprendre:


Actuellement mes licenciés m'envoient leur présence via ce formulaire et je rajoute manuellement leur nom dans le cadre d'à côté au fur et à mesure de la réception des réponses.

Voilà ce que je voudrais:
que tous les noms (des 14 licenciés) soient marqués d'une certaine couleur par défaut dans le cadre "Présents" et que lorsqu'une réponse positive est postée via le formulaire ça me colorie automatiquement le nom de l'intéressé en vert.
Je pense que je n'ai pas besoin de retoucher mon formulaire, enfin si, peut être juste pour mettre une liste déroulante avec le nom de chacun au lieu de laisser taper le nom (afin de récupérer plus facilement la variable du nom de l'intéressé).
Il y aurait alors juste à créer un petit script qui récupère les données du formulaire et qui dit que "si X est présent alors je colorie X en vert" et "si X est absent je ne touche pas sa couleur" (donc un truc du genre "if... else..." je suppose).

Je ne pense pas que ce soit très compliqué pour un initié.. mais je n'en suis pas un ! Grimaçant
Je vais essayer de faire des recherches mais si vous avez un "plan" à me donner à suivre ça m'aiderait beaucoup car autant je me débrouille pour ajuster un script existant autant je n'ai jamais créé un tel script ...

Merci d'avance Sourire
« Dernière édition: 03 Février 2012 à 14h21 par saez58 » Journalisée

TW Pro V4
laurents
Hero Member
*****

Votes : +69/-31
Messages: 2919


WWW
« Répondre #1 le: 03 Février 2012 à 15h01 »

T'as raison, pas très compliqué. Mon idée (en PHP) : une table MySQL "licencié" avec 3 champs : nom, prénom et statut (présent/absent) ; l'action du formulaire serait un script php qui ajoute un enregistrement ds la table (besoin de MySQL pour mémoriser les licenciés). Et ds le cadre de droite, on mettrait aussi un petit script PHP qui va lire tte cette table et pour chq licencié présent colorie l'affichage du nom en vert. Mais MP.
Journalisée

TW e-comm V3 3.1.7.579 XP V5 - IE V8 -  Free, 1&1, OVH et PHPNET
saez58
Full Member
***

Votes : +1/-0
Messages: 165


WWW
« Répondre #2 le: 03 Février 2012 à 15h22 »


Merci pour ta réponse laurents.

Bon j'ai bien fait de demander car j'aurais pu chercher un moment, je ne pensais pas qu'il était nécessaire d'utliser une base MySQL Indéci

Par contre 2 champs seraient suffisant du coup si je regroupe les noms et prénoms dans une (et une seule) liste déroulante ?

Je réponds à ton MP de ce pas Clin d'oeil
Journalisée

TW Pro V4
laurents
Hero Member
*****

Votes : +69/-31
Messages: 2919


WWW
« Répondre #3 le: 03 Février 2012 à 15h28 »

Peu importe ; autant laisser les 3 champs. (MySQL, c'est utile dès qu'il y a besoin de stocker de l'information)
Journalisée

TW e-comm V3 3.1.7.579 XP V5 - IE V8 -  Free, 1&1, OVH et PHPNET
saez58
Full Member
***

Votes : +1/-0
Messages: 165


WWW
« Répondre #4 le: 03 Février 2012 à 15h33 »


Le problème c'est qu'ils ne me rentrent pas toujours la même chose.
Ex: Willy me rentre parfois "Willy" parfois "Will" etc .. c'est pour cela que je pensais que mettre une liste déroulante où chacun choisi son nom dedans serait plus simple ..
Journalisée

TW Pro V4
harry
Invité
« Répondre #5 le: 03 Février 2012 à 15h59 »

Ce forum devient vraiment sens dessus dessous.

Théoriquement ici on post des scripts et astuces pour améliorer nos sites et non des questions pour lesquelles il existe une autre rubrique.

Journalisée
saez58
Full Member
***

Votes : +1/-0
Messages: 165


WWW
« Répondre #6 le: 03 Février 2012 à 17h11 »

Je suis vraiment désolé si je n'ai pas posté au bon endroit.
Ma demande concernant un script je pensais être au bon endroit, de plus une fois que ce sera résolu il y aura bien ici un script pour améliorer nos sites ...

Enfin voilà je ne pense pas être complétement à côté de la plaque non plus ...  Roulement des yeux
Journalisée

TW Pro V4
harry
Invité
« Répondre #7 le: 03 Février 2012 à 17h25 »

Evidemment vu sous cet angle... Grimaçant
Journalisée
laurents
Hero Member
*****

Votes : +69/-31
Messages: 2919


WWW
« Répondre #8 le: 03 Février 2012 à 19h02 »

Citation
Le problème c'est qu'ils ne me rentrent pas toujours la même chose.
Ex: Willy me rentre parfois "Willy" parfois "Will" etc .. c'est pour cela que je pensais que mettre une liste déroulante où chacun choisi son nom dedans serait plus simple ..
Ca, c'est possible, même avec 3 champs : l'utilisateur choisit son prénom ds la liste déroulante et celui-ci est stocké ds la base ; mais prévois qd-même le cas d'un prénom imprévu : 2 cases à cocher ; une "prénom ds la liste déroulante" et l'autre "prénom non prévu ds la liste", avec ds ce cas un champ texte. Et l'action du formulaire sera un script PHP (que je te ferai). De plus, je mettrai ici le code qui gère une base MySQL (comme ça, Patrick, l'emplacement de ce fil de discussion sera justifié  Clin d'oeil)
Journalisée

TW e-comm V3 3.1.7.579 XP V5 - IE V8 -  Free, 1&1, OVH et PHPNET
harry
Invité
« Répondre #9 le: 03 Février 2012 à 19h10 »

T'es trop fort Laurents!
Journalisée
saez58
Full Member
***

Votes : +1/-0
Messages: 165


WWW
« Répondre #10 le: 03 Février 2012 à 19h27 »

Ca, c'est possible, même avec 3 champs : l'utilisateur choisit son prénom ds la liste déroulante et celui-ci est stocké ds la base ; mais prévois qd-même le cas d'un prénom imprévu : 2 cases à cocher ; une "prénom ds la liste déroulante" et l'autre "prénom non prévu ds la liste", avec ds ce cas un champ texte. Et l'action du formulaire sera un script PHP (que je te ferai). De plus, je mettrai ici le code qui gère une base MySQL (comme ça, Patrick, l'emplacement de ce fil de discussion sera justifié  Clin d'oeil)

Mais ce ne serait pas carrément plus simple de transformer mes 2 champs 'Nom' et 'Prénom' en un seul 'Nom Prénom' dans une liste déroulante ? Car l'exemple que je t'ai donné pour le prénom peut être valable pour le nom.. et sans compter qu'un "pénible" pourra s'amuser à associer un nom et un prénom qui ne réfère à personne !
Enfin moi je dis ca de mon point de vu ... d'amateur ! Grimaçant
Journalisée

TW Pro V4
laurents
Hero Member
*****

Votes : +69/-31
Messages: 2919


WWW
« Répondre #11 le: 03 Février 2012 à 20h05 »

Je crois tout simplement que c'est impossible (car des noms possibles, il y en a des milliers, et si on envisage à chq fois les prénoms possibles, ça friserait sûrement le million de possibilités...)
Journalisée

TW e-comm V3 3.1.7.579 XP V5 - IE V8 -  Free, 1&1, OVH et PHPNET
laurents
Hero Member
*****

Votes : +69/-31
Messages: 2919


WWW
« Répondre #12 le: 03 Février 2012 à 20h26 »

Le code pour gérer une base MySQL (en théorie, tous les hébergeurs qui proposent PHP fournissent aussi un logiciel (phpMyAdmin) qui permet de gérer une base MySQL, mais c'était tellement lent chez Free que j'ai développé cette interface qui me permet d'envoyer n'importe quelle requête SQL et d'en afficher la réponse si elle existe). Pour déposer l'interface chez un hébergeur, d'abord créer les fichiers (au nombre de 4) sur le disque dûr, puis les transférer par FTP. D'abord créer un répertoire "bdd" chez l'hébergeur. L'URL de l'interface sera http://nom_du_domaine/bdd/requete.html.
Les 4 fichiers sont (bien respecter les noms de fichiers) :

requete.html :
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title>annonce</title>
</head>
<body>
<form action="traitrequete.php" method="post">
  <table>
    <tbody>
      <tr>
        <td colspan="2">Texte de
la requ&ecirc;te</td>
      </tr>
      <tr>
        <td colspan="2"> <textarea name="requete"
 rows="4" cols="55"></textarea></td>
      </tr>
    </tbody>
  </table>
  <br>
  <br>
  <center><input name="submit" value="Ex&eacute;cuter"
 type="submit"></center>
</form>
</body>
</html>

tratrequete.php :
Code:
<?php
include_once("config.php");
include_once(
"connect.php");

$id_conn connect();
$sql stripslashes($_POST['requete']);
$result mysql_query($sql) or die(mysql_error());
  
if (
$result !== TRUE)
  { 
    while (
$ligne mysql_fetch_array($resultMYSQL_NUM))
    {

      
$i=0;
  $j sizeof($ligne);
  
      while (
$i <= $j-1)
      {
        echo 
$ligne[$i++]." "
if (($i-1)==($j-1)) echo "<br>";
      }
    }
  }
  
  
free_memory($result);
?>

connect.php :
Code:
<?php
define
("DBNAME","---");
ini_set('display_errors'1);
ini_set('log_errors'1);

function 
connect()
{
include_once(
"config.php");
$id_conn=mysql_connect(MYHOST,MYUSER,MYPASS);
mysql_select_db(DBNAME,$id_conn);


return(
$id_conn);
}

function 
ES($truc)
{
$truc=mysql_real_escape_string($truc);
return 
$truc;
}

function 
free_memory($res)
{

mysql_free_result($res);
}
?>

config.php :
Code:
<?php
define
("MYHOST","---");
define("MYUSER","---"); 
define("MYPASS","---");
?>
Il y a 4 constantes à renseigner (une ds connect.php et 3 ds config.php) qui sont données par l'hébergeur. Les noms sont assez parlants, surtout si on comprend l'anglais (en informatique, il vaut mieux  Souriant).
Un cadre rectangulaire blanc doit s'afficher qd vous lancez l'interface ; pour vérifier si ça marche, taper les 2 requêtes suivantes :
Code:
CREATE TABLE espion (id_espion MEDIUMINT UNSIGNED AUTO_INCREMENT, espion VARCHAR(30) NOT NULL,PRIMARY KEY(id_espion));
(c'est la création d'une table MySQL que je crée assez svt.
Code:
show tables
Ca doit afficher la liste des tables, donc il y aura au moins "espion" (S'il n'y en avait aucune, ça n'afficherait rien)
Saez58, il faut que tu commences par faire ça avant que je puisse passer à la suite ; qd ça sera fait, donne l'URL de l'interface.
Journalisée

TW e-comm V3 3.1.7.579 XP V5 - IE V8 -  Free, 1&1, OVH et PHPNET
saez58
Full Member
***

Votes : +1/-0
Messages: 165


WWW
« Répondre #13 le: 03 Février 2012 à 21h06 »


Merci laurents

Alors les 4 fichiers sont créés ainsi que le dossier /bdd chez l'hebergeur par contre je ne sais plus ce qu'il faut que je renseigne dans "MYHOST"..? localhost ?

PS: je sais pas si cela te sera utile mais voilà le code de mon formulaire:
Code:
<form method=POST action=formmail.php>
<input type=hidden name="Pour le" value="09 février">
<table>
<tr><td align=center>Nom</td>
    <td><input type=text name="Mr" size=20 align=center></td>
    <td><input type="radio" name=est value="Présent" checked>Présent</td></tr>
<tr><td align=center>Prénom</td>
    <td><input type=text name="." size=20 align=center></td>
    <td><input type="radio" name=est value="Absent">Absent</td></tr>   
<tr><td align=center>Note</td>
    <td><input type=text name="Note" size=20 align=center></td>
    <td><input type=submit value=Envoyer></td></tr>   
</table>
</form>

Et mon formmail.php
Code:
<?php

if(isset($_POST["Mr"]) && $_POST["Mr"] != "")
{

$TO "olympique.nivernais@yahoo.fr";

$h  "From: ".$_POST["Mr"]; 

$subject "Présence prochain match";

$message "";

while (list(
$key$val) = each($HTTP_POST_VARS)) {
  
$message .= "$key : $val\n";
}

mail($TO$subject$message$h);

Header("Location: http://olympique.nivernais.free.fr/espacelicencies2/index.php");
}
else
{
echo "<script type=\"text/javascript\"> alert(\"Le champs 'Nom' est obligatoire !\"); </script>";
 
        echo 
'<SCRIPT LANGUAGE="JavaScript">
function redirect() {
window.location="http://olympique.nivernais.free.fr/espacelicencies/index.php"
}
setTimeout("redirect()",0100);    </SCRIPT>'
;
}
?>
Journalisée

TW Pro V4
laurents
Hero Member
*****

Votes : +69/-31
Messages: 2919


WWW
« Répondre #14 le: 03 Février 2012 à 21h37 »

Citation
par contre je ne sais plus ce qu'il faut que je renseigne dans "MYHOST"..? localhost ?

Non, ds "MYHOST", tu mets ce que tu mets ds toweb onglet "publier/hébergeur/étape 1/5 /Mon hébergeur n'est pas ds la liste, etc." (MYHOST, c'est pour nom de l'hôte, càd le nom de domaine)

Pour ton formulaire, le champ "prénom", name=".", ça va pas (je pense), mets un autre nom (comme name="prenom").

Pour formmail.php, je reconnais le code généré par toweb ; mais il faudra que je le modifie fortement : pour l'instant, il se contente d'envoyer un mail, alors que je te proposais d'écrire un enregistrement ds une table MySQL et de gérer l'affichage du cadre de droite (mais pas ds l'action du formulaire : ça sera fait ds un script à part).
Enfin, ce formulaire, il faudra aussi le modifier : rajouter les 2 cases à cocher et la liste déroulante pour les prénoms.
Journalisée

TW e-comm V3 3.1.7.579 XP V5 - IE V8 -  Free, 1&1, OVH et PHPNET
Pages: [1] 2 3 ... 5 Haut de page Imprimer 
« sujet précédent | | sujet suivant »
Aller à:  


Forum TOWeb © 2009 Lauyan Software Cliquez ici pour vous abonner au flux RSS du forum Règles du Forum  -   Powered by SMF
Powered by SMF 1.1.16 | SMF © 2006-2009, Simple Machines