begin process at 2010 02 09 21:05:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Garder en memoire la valeur d'un champ


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Garder en memoire la valeur d'un champ

mardi 17 juillet 2007 à 23:39:08 | Garder en memoire la valeur d'un champ

marc660

Membre Club
Bonjour,

Je vous es mie un petit exemple que vous pouvez testez.

Mon problème es le suivant

Je voudrais savoir si il est possible de garder en mémoire le texte écrit dans le champ après un rafraîchissement de la page.

Essayer le code suivant puis sélectionner un texte dans le select

<script type="text/javascript" language="javascript">
<!--
function twAller_produit(_url,_cadre,_target) {
  if (_cadre) {
    parent._cadre.location.href = _url;
  } else if (_target) {
    _target = window.open(_url,_target);
  } else {
    window.location.href = _url;
  }
}
//-->
</script>
<td><input type=text size=50 name="toto" value="Ecrire quelque chose ici"></td><br>
<select name="Menu_produit" onChange="sel = this.options[this.selectedIndex].value; if (sel) { twAller_produit(sel,'','') }">
<option>S?lection par nom de client</option>
<form name=req action="" method=post>
 <option>?client=<?=$ligne[0]?>david</option>
 <option>?client=<?=$ligne[0]?>sandrine</option
 <option>?client=<?=$ligne[0]?>mimi</option
</select>
</form>



Merci
mardi 17 juillet 2007 à 23:59:19 | Re : Garder en memoire la valeur d'un champ

coucou747

Salut

faut utiliser les sessions

au passage <?= est a remplacer par <?php echo


une recherche sur exalead vous aurait peut-etre evite de poser cette question
In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
mercredi 18 juillet 2007 à 01:18:11 | Re : Garder en memoire la valeur d'un champ

marc660

Membre Club

Bonjour,


J'ai fait des recherches mais je dois avouer que je n'arrive pas.

Vous pouvez me donner un exemple correspondants a mon code plus haut.

Merci d'avance
mercredi 18 juillet 2007 à 08:46:06 | Re : Garder en memoire la valeur d'un champ

tcheeb

<?PHP
/* démarre la session et permet d'utiliser les variables globales. Cette fonction est a mettre au départ de chaque page pour lesquelles il est désiré avoir accès aux variables de session ($_SESSION) . Doit être appelé en tout premier sur ta page */

session_start();

/*Ensuite il faut assigner ta variable, ou tes variables*/
//contrôle de routine sur l'existence d'un post par la bonne methode
if(isset($_POST['req'])){
   $_SESSION['req'] = $_POST['req']
}
?>
*************************
Ta variable est maintenant disponibles sur chaque page.
Pour détruire la variable
session_unregister(le nom de la variable);

Plus d'infos et du code :
http://fr.php.net/manual/fr/function.session-start.php

**************************
Bonne journée
mercredi 18 juillet 2007 à 13:21:43 | Re : Garder en memoire la valeur d'un champ

marc660

Membre Club

Bonjour,


Ca ne fonctionne pas car mon problème n'à rien avoir avec deux pages mais tous est dans la même page

 

Un exemple tester le script plus haut : une personne écrit un 'tata et tonton' dans le champ abr Apres elle sélectionne une options dans le select (en sachant que ce select actualise la page).

 

Mon problème c'est est que le champ abr redevient par défaut, alors que moi je veut que le champ abr garde la valeur écrite avant l'actualisation de la page



Merci


mercredi 18 juillet 2007 à 13:38:16 | Re : Garder en memoire la valeur d'un champ

tcheeb

Si tu réactualise ta page difficile de garder une variable sans soumettre soit par post ou get car tu remets tout à zéro (refrech -li un peu).

Lors de la réactualisation si tu veut travailler en PHP tu soumets par un javascript ta page et tu récupère tes valeurs "$_GET" ou $_POST.


Deuxième solutions, du Côté client, utilise javascript avec un beau cookies que tu récuperera au rechargement de ta page. Mais c'est un autre forum pour celà.

Autre solution utiliser AJAX.

Maintenant pour pouvoir tester ton bout de code donne toute les informations !!!!!

Exemple : ton tableau $ligne vient d'où ?


mercredi 18 juillet 2007 à 14:06:16 | Re : Garder en memoire la valeur d'un champ

marc660

Membre Club
Bonjour,

Je vous donne le code complet avec la base de donner

Code source

<table align="center">
<td>Tapez un texte ici puis selectionner un article dans le menu deroulent</td>
<tr><td>
<input  type="text" id="abr" name="abr" value="Voila le code presque complet"  style="border-color:blue; border-style:dotted;" onkeyup="treatquery();" /  size="60"></td></tr>
</table>
<table border="2" align="center" width="571" height="6">
<tr><td  align="center"><b><?=ACTION?></b><td  align="center"><b><?=DESC?></b></td><td align="center"><b><?=QTY?></b></td><td align="center"><b><?=UNIT?></b></td><td align="center"><b><?=TAX?></b></td><td align="center"><b><?=TOTAL?></b></td></tr>
<? for($i=0; $i< 5; $i++){ ?>
<tr>
<td><input type="button" id="myButton" value="Ajouer" onclick="envoi_<?=$i?>();" style="border-color:blue; border-style:dotted;" /></td>
<td>

<input type=text size="50" id="d<?=$i?>" name="d<?=$i?>" value="<? $d0 = addslashes(trim($_GET['d0'])); ?>" style="border-color:rgb(255,102,0); border-style:dotted;"></td>

<td><input type=text size=3 name="n<?=$i?>" value=""  onchange="checkNumber(this);subSum(<?=$i?>);" style="border-color:rgb(255,102,0); border-style:dotted;"></td>
<td><input type=text size=6 name="p<?=$i?>" value=""  onchange="checkNumber(this);subSum(<?=$i?>);" style="border-color:rgb(255,102,0); border-style:dotted;"></td>
<td><input type=text size=5 name="ta<?=$i?>" value="<?=$taxrate?>" onchange="checkNumber(this);remind(this.value);subSum(<?=$i?>);" style="border-color:rgb(255,102,0); border-style:dotted;"></td>
<td><input type=text size=7 name="to<?=$i?>" value=""  onchange="checkNumber(this);subSum(<?=$i?>);redoTotal();" style="border-color:rgb(255,102,255); border-style:dotted;"></td>
</tr></tr>

<? } ?>
</table><br>

<script type="text/javascript" language="javascript">
<!--
function twAller_produit(_url,_cadre,_target) {
  if (_cadre) {
    parent._cadre.location.href = _url;
  } else if (_target) {
    _target = window.open(_url,_target);
  } else {
    window.location.href = _url;
  }
}
//-->
</script>

<?php
define('DBHOST', 'db225.********');
define('DBUSER', 'db******6');
define('DBPASS', 'H********7');
define('DBNAME', 'd******6');
$link = mysql_connect(DBHOST, DBUSER, DBPASS);
mysql_select_db(DBNAME, $link) or die("Impossible d'acce`der a` la base de donne'es");
$requete="select name from fiche_products";
$resultat2requete=mysql_query($requete);
$nbr2champs=mysql_num_fields($resultat2requete);
$nbr2lignes=mysql_num_rows($resultat2requete);
?>
<center><select name="Menu_produit" onChange="sel = this.options[this.selectedIndex].value; if (sel) { twAller_produit(sel,'','') }">
<option>S&#1081;lection par nom de client</option>
<form name=req action="" method=post>
<?
while ($ligne=mysql_fetch_row($resultat2requete))
    {
?>
<option value="?client=<?=$ligne[0]?>">

<?
if ($ligne != " "){ echo $ligne[0];} ?>
</option>
<?
}
?>
</select>
<!--<input type="submit" name=envoyer value="cherche dans base" />-->
</form>
<?
mysql_close($link);
?>

<!--          --><!--          --><!--          -->
<!--          --><!--          --><!--          -->

<?php
define('DBHOST', 'db225.********');
define('DBUSER', 'db******6');
define('DBPASS', 'H********7');
define('DBNAME', 'd******6');
$link = mysql_connect(DBHOST, DBUSER, DBPASS);
mysql_select_db(DBNAME, $link) or die("Impossible d'acce`der a` la base de donne'es");
$client=$_GET["client"];
$requete="select `name` , `description` , `quantity` , `price` , `tax` , `notes` from fiche_products where name = '$client'";
$resultat2requete=mysql_query($requete);
$nbr2champs=mysql_num_fields($resultat2requete);
$nbr2lignes=mysql_num_rows($resultat2requete);
?>
<?

while ($ligne=mysql_fetch_row($resultat2requete))
    {
    if ($ligne != " ")
      {
?>
<br><table>

<?
echo '<input type="text" size="80" id="toto0" name=toto0" value="', $ligne[0], '" onchange="myButton.click();"  style="border-color:blue; border-style:dotted;"/><br>';
echo '<input type="text" size="80" id="toto1" name=toto1" value="',$ligne[1], '" onchange="myButton.click();"  style="border-color:blue; border-style:dotted;" /><br>';
echo '<input type="text" size="80" id="toto2" name=toto2" value="', $ligne[2], '" onchange="myButton.click();"  style="border-color:blue; border-style:dotted;" /><br>';
echo '<input type="text" size="80" id="toto3" name=toto3" value="', $ligne[3], '" onchange="myButton.click();"  style="border-color:blue; border-style:dotted;" /><br>';
echo '<input type="text" size="80" id="toto4" name=toto4" value="', $ligne[4], '" onchange="myButton.click();"  style="border-color:blue; border-style:dotted;" /><br>';
echo '<input type="text" size="80" id="toto5" name=toto5" value="', $ligne[5], '" onchange="myButton.click();"  style="border-color:blue; border-style:dotted;" /><br>';

}
}
?>
</table></center>
<!--          --><!--          --><!--          -->
<!--          --><!--          --><!--          -->
<?php
$ligne = array(
 'ligne 1',
 'ligne 2',
 'ligne 3',
 'ligne 4',
);
?>
<script type="text/javascript">
//<![CDATA[
    function $() {
     var elements = new Array();
     for (var i=0,len=arguments.length;i<len;i++) {
      var element = arguments[i];
      if (typeof element == 'string') {
       var matched = document.getElementById(element);
       if (matched) {
        elements.push(matched);
       } else {
        var allels = (document.all) ? document.all : document.getElementsByTagName('*');
        var regexp = new RegExp('(^| )'+element+'( |$)');
        for (var i=0,len=allels.length;i<len;i++)
         if (regexp.test(allels[i].className))
          elements.push(allels[i]);
       }
       if (!elements.length)
        elements = document.getElementsByTagName(element);
       if (!elements.length) {
        elements = new Array();
        var allels = (document.all) ? document.all : document.getElementsByTagName('*');
        for (var i=0,len=allels.length;i<len;i++)
         if (allels[i].getAttribute(element))
          elements.push(allels[i]);
       }
       if (!elements.length) {
        var allels = (document.all) ? document.all : document.getElementsByTagName('*');
        for (var i=0,len=allels.length;i<len;i++)
         if (allels[i].attributes)
          for (var j=0,lenn=allels[i].attributes.length;j<lenn;j++)
           if (allels[i].attributes[j].specified)
            if (allels[i].attributes[j].nodeValue == element)
             elements.push(allels[i]);
       }
      } else
       elements.push(element);
     }
     if (elements.length == 1)
      return elements[0];
     else
      return elements;
    }
    //]]>
 </script>

<script> function envoi_0() {
$('d0').value = $('toto0').value;
$('n0').value = $('toto2').value;
$('p0').value = $('toto3').value;  
$('ta0').value = $('toto4').value;  
} </script>

<script> function envoi_1() {
$('d1').value = $('toto0').value;
$('n1').value = $('toto2').value;
$('p1').value = $('toto3').value;  
$('ta1').value = $('toto4').value;  
} </script>

<script> function envoi_2() {
$('d2').value = $('toto0').value;
$('n2').value = $('toto2').value;
$('p2').value = $('toto3').value;  
$('ta2').value = $('toto4').value;  
} </script>

<script> function envoi_3() {
$('d3').value = $('toto0').value;
$('n3').value = $('toto2').value;
$('p3').value = $('toto3').value;  
$('ta3').value = $('toto4').value;  
} </script>

<script> function envoi_4() {
$('d4').value = $('toto0').value;
$('n4').value = $('toto2').value;
$('p4').value = $('toto3').value;  
$('ta4').value = $('toto4').value;  
} </script>
</select></form>
<? $var = $_SESSION['tata0']; ?>



Base de donner
-- phpMyAdmin SQL Dump
-- version 2.6.4-pl3
-- http://www.phpmyadmin.net
--
-- Serveur: ***********
-- G&#1081;n&#1081;r&#1081; le : Mercredi 18 Juillet 2007 &#1072; 13:57
-- Version du serveur: 4.0.27
-- Version de PHP: 4.3.10-200.schlund.1
--
-- Base de donn&#1081;es: `d***********6`
--

-- --------------------------------------------------------

--
-- Structure de la table `fiche_products`
--

CREATE TABLE `fiche_products` (
  `product_id` int(11) NOT NULL auto_increment,
  `name` varchar(128) NOT NULL default '',
  `description` text NOT NULL,
  `quantity` int(11) NOT NULL default '0',
  `price` decimal(10,2) NOT NULL default '0.00',
  `tax` decimal(12,1) NOT NULL default '0.0',
  `notes` text NOT NULL,
  PRIMARY KEY  (`product_id`)
) TYPE=MyISAM AUTO_INCREMENT=22 ;

--
-- Contenu de la table `fiche_products`
--

INSERT INTO `fiche_products` VALUES (1, 'AGRAFEUSE CLOUEUSE PNEUMATIQUE', 'Agrafeuse cloueuse pneumatique. Livr&#1081;e en mallette. Capacit&#1081; de 15 &#1072; 40 mm.', 1, 199.00, 19.6, '');
INSERT INTO `fiche_products` VALUES (2, 'SOUFFLETTE BEC COURT', 'Soufflette air comprim&#1081; &#1072; bec court. Livr&#1081;e avec raccord standard &#1072; ba&#1086;onnette. Fabrication Italie garantie 2 ans.', 1, 4.00, 19.6, '');
INSERT INTO `fiche_products` VALUES (3, 'SOUFFLETTE BEC LONG', 'Soufflette air comprim&#1081; &#1072; bec long. Livr&#1081;e avec raccord standard &#1072; ba&#1086;onnette. Fabrication Italie garantie 2 ans.', 1, 5.30, 19.6, '');
INSERT INTO `fiche_products` VALUES (4, 'POMPE A GRAISSE PNEUMATIQUE', 'Pompe &#1072; graisse pneumatique capacit&#1081; 400ml. Gamme Expert', 1, 32.00, 19.6, '');
INSERT INTO `fiche_products` VALUES (5, 'PISTOLET DE PULVERISATION', 'Pistolet pneumatique de pulv&#1081;risation. Fabrication Italie. Pour projection de tout liquide non corrosif ( d&#1081;sherbant, gas-oil, huile. ).', 1, 14.00, 19.6, '');
INSERT INTO `fiche_products` VALUES (6, 'PISTOLET PEINTURE A GRAVITE', 'Pistolet &#1072; peinture &#1072; gravit&#1081; professionnel. Mod&#1080;le en aluminium &#1072; r&#1080;glages multiples/', 1, 24.00, 19.6, 'fgdsgs fdgsdg fdg sdfg');
INSERT INTO `fiche_products` VALUES (7, 'PISTOLET PEINTURE PROFESSIONNEL', 'Pistolet pneumatique pour peinture. Godet aluminium autoclave, buse laiton. Couvercle de r&#1081;servoir en m&#1081;tal. Fabrication Italie.', 1, 24.00, 19.6, '');
INSERT INTO `fiche_products` VALUES (8, 'PISTOLET POUR ENDUIT', 'Pistolet pneumatique pour enduit avec godet &#1072; gravit&#1081;', 1, 40.00, 19.6, '');
INSERT INTO `fiche_products` VALUES (9, 'MARTEAU BURINEUR PNEUMATIQUE H', 'Marteau burineur pneumatique livr&#1081; avec 4 burins queue hexagonale : 1 pointerolle, 1burin plat droit, un burin &#1081;chancr&#1081; &#1072; d&#1081;couper, un burin plat biseau.', 1, 24.00, 19.6, '');
INSERT INTO `fiche_products` VALUES (10, 'MARTEAU BURINEUR PNEUMATIQUE R', 'Marteau burineur pneumatique livr&#1081; avec 4 burins queue ronde : 1 pointerolle, 1burin plat droit, un burin &#1081;chancr&#1081; &#1072; d&#1081;couper, un burin plat biseau.', 1, 17.00, 19.6, '2222222222222222222222222');


Merci
mercredi 18 juillet 2007 à 14:37:47 | Re : Garder en memoire la valeur d'un champ

marc660

Membre Club
Bonjour,

Voila l'exemple sur ce site

merci
mercredi 18 juillet 2007 à 21:03:35 | Re : Garder en memoire la valeur d'un champ

tcheeb

Hello,

Je reprend ma 1ère réponse en sélectionnant dans le menu select tu rappel ta page par la fonction twAller_produit ce qui a pour effet de rafraîchir ta page (idem qu'un F5), car tu utilise la fonction "location.href".

Pour exemle rempli un formulaire et appuye sur F5. C'est le même effet.

Cette fonction devrait soumettre le formulaire "" onchange = submit(ton formulaire);"", le target étant la même page. il faut ensuite récupérer la variable globale $_POST et nourrir tes champs.

Autre solution : utiliser les iframes et transférer les valeurs entre les pages.

Plus de rigeur dans le code serait également une bonne chose.
pas bien = <? ?> bien = <?PHP ?>
XHTML oui mais la ? 
<input  type="text" id="abr" name="abr" value="Voila le code presque complet"  style="border-color:blue; border-style:dotted;" onkeyup="treatquery();" /  size="60">

Pour moi regarde en AJAX, pour ce que tu cherche c'est la meilleure solution.
 
Bonne soirée



Cette discussion est classée dans : champ, url, client, garder, target


Répondre à ce message

Sujets en rapport avec ce message

MySQL DATETIME [ par eax ] saluty'a qqun qui pourrait me dire comment faire pour rechercher des données dans une table MySQL:j'ai un champ `cree_le` qui est un timestamp (DATETI Modification de champ via un formulaire [ par Lephoenix75 ] Voial j'aimerai que lorsque je sélectionne un pseudo dans mon menu déroulant qu'il charge toute les infos concernant le pseudo (ou id) exemple => par garder une url defini dans la barre d'adresse [ par vsss ] BonjourJe voudrai savoir si c'est possible de definir une Url dans la barre d'adresse, car j'ai un nom de domain www.adresse.com , mais qui change qua formulaire de contact [ par ghazizix ] bonjour, je veux créer un formulaire de contact dont un user ne peut se contacter que si s'identifier avant ainsi que je veux ajouter un champ priorit afficher un champ d'un base de donnée sous forme d'url [ par xzonz ] Bonjour a toutes et tousbon bin voila je cherche à afficher le champ "url" d'une base de donnée sous forme de liens hypertexte.j'ai essayé pas mal de decouper une url pour ne garder que l'extension du fichier [ par loupile ] Bonjour , alors voila jusqu'a present pour obtenir cette extension je faisais  $last=strrchr($url,"."); oui mais voila quand l'url est de type : http: garder des variables en mémoire [ par rasengan7 ] Bonjour,j'aimerai savori comment on fais pour garder des variable en mémoire.j'ai une page identification ki met en mémoire le login et pass du client upload de fichier dans une BBD [ par slashf ] salut à  amis prog, je vous explique mon cas, je veux uploader des fichiers sur une base de donnée, jusqu'à là ça va mais, mon problème c le champ URL Authentification par certificat [ par rudy5917 ] Bonjour à toutes et à tous,Plateforme : PHP5/Mysql/Apache/Ubuntu Server EditionA ce jour, je sais protéger l'accès à un virtual host d'apache pour for Champ formulair en url [ par ArC3Nik ] Bonjour,J'ai un formulair avec un champ, ou le client doit entrer url de sont site.Ce que je voudrait c'est que le contenu du champ url soit transform


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales