Aller au contenu

francoisch

Hubmaster
  • Compteur de contenus

    678
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par francoisch

  1. Trouvé: le "blanc" de fin de ligne n'est pas un espace, c'est une fin de ligne qui s'affiche blanc. La solution: j'ai inséré un vrai blanc, un espace, avant la fin de ligne et ça fonctionne. Francois
  2. francoisch

    Str_replace pas replace

    Bonjour Pour supprimer un string dans un autre string plus grand : print "id: *".$id."*<br>"; print "lines 5 avant: *".$lines[5]."*<br>"; $newid = " ".$id." "; print "newid: *".$newid."*<br>"; $lines[5] = str_replace($newid, " ", $lines[5]); print "lines 5 après: *".$lines[5]."*<br>"; présenté avec les Print pour comprendre le résultat : id: *zzzz* lines 5 avant: *require user francois kkkk zzzz * newid: * zzzz * lines 5 après: *require user francois kkkk zzzz * Le problème : je remplace bien tout string (par un espace) sauf le dernier de la ligne, ici zzzz. A votre avis ? Merci par avance de votre aide. Francois
  3. francoisch

    Cryptages

    Merci Jacques de ta réponse. Oui, je cherche simplement à crypter un mot de passe pour un Htpasswd. En utilisant crypt(), j'ai eu un mdp crypté de ce type: $1$iPnE3Fv9$Qj06ci.RKBKJbjjXj9Gn7/ Il est aussi très différent du mdp que j'obtiens en cryptant manuellement: bun2/1hNSpkbg (13 car.) A ton idée? Merci de ton aide. Francois
  4. francoisch

    Cryptages

    bonjour Quand je crypte manuellement: - je passe par http://www.ovh.com/fr/espaceclients/outils/crypt_password.pl - j'obtiens un mot de passe crypté de ce type: bun2/1hNSpkbg (long. 13 car.) chez cet hébergeur qui crypte en md5. Quand je crypte en Php avec md5(): - par exemple: md5(toto); - j'obtiens un mot de passe crypté de ce type: 6c5bc43b443975b806740d8e41146479 (long. 32 car.) De toute évidence, les deux types de mot de passe ne se ressemblent pas. J'avais déjà essayé avec crypt(), sans succès. A votre idée? Par avance merci de votre aide. Francois
  5. Oui, je vais faire ça, merci encore de ton aide Captain. Francois
  6. Merci de vos réponses. Oui, je n'avais simplement pas pensé qu'il avait un retour à la ligne qui trainait là; ma modification de ligne se ferait alors avec: $lines[5] = rtrim($lines[5])." ".$id."\r\n"; puisque rtrim() supprime tout seul /n, /t et d'autres. Pour le choix de la ligne, dans ce fichier du moins, je n'ai pas de problème, c'est tjs cette ligne là. Sinon, pour un autre fichier, je vais devoir identifier la bonne ligne en cherchant un string de caractères, genre tototo; quelle serait la bonne méthode pour identifier cette ligne, à votre avis? Merci encore. Francois
  7. bonjour Captain En résumant : je lis chaque ligne du fichier avec files(), je rallonge la ligne qui convient avec la valeur de la variable $id, jécris chaque ligne en utilisant ton code ; ça donne ça : $lines = file($fichier); foreach ($lines as $line_num => $line) {echo 'Ligne No <strong>' . $line_num . '</strong> :'. $line . '<br />'."\n"; } if ($choix == "ajout") { $lines[5] = $lines[5]." ".$id."\r\n"; // ecriture du fichier modifié $flux = fopen($fichier, 'w+'); foreach($lines as $ligne) { fwrite($flux, $ligne);} fclose($flux); } De toute évidence, jai raté qqechose. Merci par avance de ton aide. Francois
  8. Bonjour Je lis mon fichier texte avec files(), je modifie la ligne qui mintéresse : La ligne : require user francois Devient : require user francois cccccccccccc ce que je vérifie en mettant des Echo, mais, quand je lécris, en utilisant le code de Captain (merci), dans le fichier sur le site, cette ligne devient : require user francois cccccccccccc et je narrive pas à la faire tenir en une seule ligne. Merci par avance de vos conseils à un débutant en fichiers texte. Francois
  9. Grand merci Captain de ta réponse. Ce sujet est mon principal sujet actuellement. Ta réponse correspond exactement à ma question; je vais l'exploiter avec intérêt. Merci encore. Francois
  10. bonjour et merci de vos réponses. Pour lire, j'avais commencé avec file() qui fonctionne très facilement. Simplement, ensuite, je n'avais pas trouvé le moyen d'écrire après modification. Captain, quand tu parles d'écraser, pourrais tu détailler un peu que je voie comment m'y prendre? Merci encore. Francois
  11. Bonjour Je débute dans ce sujet de lecture / écriture dun fichier texte en Php. Jai ce fichier : AuthUserFile /homez.110/fctest/www/esp1/ferme/.htpasswd AuthGroupFile /dev/null AuthName "Accès à esp1" AuthType Basic <Limit GET POST> require user xxx </Limit> Avec ce code de test : $handle = _AT_fopen($fichier, "r+"); if ($handle) { while (!feof($handle)) { $buffer = fgets($handle, 4096); echo $buffer."<br>"; } fclose($handle); } à la lecture, jaffiche : ArrayserFile /homez.110/fctest/www/esp1/ferme/.htpasswd AuthGroupFile /dev/null AuthName "Accès à esp1" AuthType Basic require user xxx Première question : comment se fait-il que je ne lise les deux lignes avec <Limit> ? Ensuite, comment prendre en compte les données lues ? Jai essayé : $buffer[3] pour lire, puis modifier, une ligne à la fois mais sans succès. Merci par avance de votre aide tolérante. Francois
  12. bonjour et merci de vos réponses. Je ne vous surprendrai pas en vous disant que ça marche. Je n'avais pas compris ça du tout, comme vous l'avez constaté. Merci encore de votre aide. Francois
  13. bonjour et merci de ta réponse. J'avais cru comprendre que je dois faire un session_start dans la première page et aucun autre ensuite durant toute la session. Est ce que tu me dis que, au contraire, je dois mettre un session_start dans chaque page où j'utilise une variable de session? Francois
  14. Bonjour Dans une page Php, je crée plusieurs variables de session dont celle-ci : if (!session_id()) session_start(); unset($_SESSION['familleS']); $_SESSION['familleS'] = $famille; ... Résultat : La variable est bien créée et intialisée (vérifié) Le session_id() est aussi créé et initialisé (vérifié) Jappelle alors une autre page Php dans laquelle jutilise $_SESSION['familleS'] mais: - cette variable nexiste pas (print "SESSION familleS: ".$_SESSION['familleS']."<br>" - session_id n'existe pas (print "session_id: ".session_id()."<br>" Par contre le PHPSESSID existe (2260680e0b97156eb7df5fa3b668fa16), signe que le cookie existe si jai bien compris. Je débute en variables de session ; jai oublié qqechose ? Par avance merci de votre aide. Francois
  15. Bonjour Je dois migrer une bonne trentaine de tables MySql : - changement du nom de la table - ajout dune colonne - valorisation prévisible de cette colonne (id la valeur de la colonne précédente) Je viens de le faire à la main avec phpMyAdmin pour une table : export de lancienne table, modifications à la main, création de la nouvelle table. Ma question : y a-t-il des moyens plus efficaces / rapides / sûrs ? Par avance merci de votre aide. Francois
  16. bonjour Je vais effectivement installer une CSS général et une CSS par langue, comme vous le proposez. Merci encore de votre aide. Francois
  17. bonjour et merci de vos posts. Des exemples de variables Php dans ma CSS: - les couleurs: color: <?=$bordeaux?>; - les tailles: font-size: <?=$fontsizeh2 ?>em; - l'image bannière: background-image:url("image/<?=$imageBandeau ?>"); - des dimensions: width: <?=$widthmenu ?>%; Toutes ces variables sont valorisées au début dans la partie Php de la CSS mais elles ne changent pas d'un appel sur l'autre. A coté de ça, ces éléments variables à l'appel de la CSS: - la langue: pour le choix de l'image banière, pas pour le choix des textes (fait hors CSS) mettons: un appl francais pour un appel anglais, fréquence forte) - la dimensions générale des caractères des textes, pour permettre à une personne mal voyante de pouvoir lire (fréquence à peu près nulle) Pour les textes, j'ai fait au plus simple (mon site n'est pas bavard) en les remplaçant dans les pages par des variables et en appelant l'un de deux fichiers contenant ces variables valorisées, soit français, soit anglais. Dans deux-trois cas un peu bavards, j'ai des "doubles" pages. Mais rien dans la CSS. Passer le SID en paramètre: Oui, c'est une excellente idée, que je vais creuser. Merci de vos commentaires. Francois
  18. bonjour et merci de vos réponses. Pour ce qui est de ma question, Oui, j'ai l'impression que l'appel de la CSS par Link ne permet pas l'utilisation d'une variable de session, sans savoir l'expliquer; il me reste le passage en paramètre, que j'aurais préféré éviter car j'essaie d'utiliser les variables de session plutôt que de rallonger les Url avec des paramètres. Oui, j'ai bien un session_start(). Ma CSS contient du Php pour plusieurs raisons, en particulier pour certaines valeurs qui apparaissent en plusieurs endroits dans les styles; je les ai externalisées en variables Php et je les exprime en <?php echo $variable; ?> dans la CSS. Pour ce qui concerne la variable $Langue, j'en ai besoin car j'ai des utilisateurs français et anglais; mes pages parlent donc l'une ou l'autre langue. Pour l'utilisation de $Langue par la CSS: - mon image de bannière est décrite dans la CSS (normal) - mes utilisateurs anglais souhaitent une image bannière différente de la bannière standard - j'initialise donc le nom du fichier de l'image dans la partie Php avant de passer à la CSS proprement dite Merci encore de vos réponses. Francois
  19. Bonjour Dans une page, je crée une variable Session : $_SESSION['langueS'] = "en"; Jappelle ensuite une CSS : <link rel="stylesheet" type="text/css" href="../../style28.php"> qui a dans son en-tête en Php : $Langue = $_SESSION['langueS']; Cette variable $Langue nest pas initialisée. En commentaire, la variable $Langue peut bien être initialisée en la passant en paramètre de lUrl de la CSS et récupérée par Get. Question : une variable Session ne peut elle pas être utilisée dans une CSS ? Par avance merci de votre aide. Francois
  20. bonjour Voici le résultat d'un petit montage comparatif: *** Pour vérif pour vérif, domaine: web pour vérif, famille: Martinot *** Variable initialisée dans le fichier externe lib_spe1: *** Variable initialisée dans le fichier lib_spe1: Martinot's web Rappel de la constitution de la variable composée: $lib_spe1 = $famille."'s ".$domaine; autant dans le fichier lui-même, dans ce test, que dans le fichier externe. Constatations: - les deux variables de base sont bien initialisées - la variable composée n'est pas initialisée quand elle est constituée dans le fichier externe Je cherche toujours à comprendre; merci de votre aide. Francois
  21. Non, la page extérieure comporte plusieurs dizaines de variables qui sont toutes correctement initialisées et utilisées, sauf celle dont je parle, mais pas dans une fonction. Oui, j'ai pensé à un problème de déclaration globale / non globale mais il n'y a rien de tout ça dans mon code. Je ne vois pas pourquoi / comment le fait d'être une variable composée de deux variables changerait qqechose. Je vais faire l'essai de mettre cette variable en variable de session, pour voir. Francois
  22. bonjour et merci de vos réponses. J'ai d'autres variables déclarées dans ce fichier externe; je vérifie qu'il est bien appellé en imprimant ussi la valeur d'une de ces variables. Mais ce sont des variables simples, pas des variables composées comme celle qui est en erreur. Non, la variable n'est pas redéclarée dans le fichier utilisateur. Le mystère reste donc entier, il faut continuer à chercher. Francois
  23. Bonjour Je déclare la variable $lib_spe1 dans un fichier séparé nommé libellesen.php : $lib_spe1 = $domaine." ".$famille; avec les deux variables $domaine et $famille initialisées (vérifié). Quand je cherche à lutiliser : include ("libellesen.php"); echo "lib_spe1: ".$lib_spe1."<br>"; la variable $lib_spe1 nest pas initialisée. Quand je vérifie avec : $lib_spe1 = $domaine."<br>".$famille; echo "lib_spe1: ".$lib_spe1."<br>"; la variable $lib_spe1 est initialisée. Question : comment la variable $lib_spe1 peut-elle ne pas être initialisée quand elle est définie dans le fichier séparé ? Par avance merci de votre aide. Francois
  24. bonjour et merci de vos réponses. J'ai trouvé entre temps, je viens tout juste d'en faire l'essai, et ça rejoint une de vos réponses. Oui, il y a une différence entres mes deux sites, tests et prod: dans le site où ça ne fonctionne pas (tests), j'appelle depuis un dossier de niveau 1, accroché à la racine, alors que dans l'autre site, où ça fonctionne, j'appelle depuis la racine. La nuit porte, parait-il, conseil; en tout cas, ce qui m'a aidé a été de vous exposer mon problème. Merci encore de votre aide. Francois
  25. francoisch

    Problème avec is_dir

    Bonjour Jutilise cette fonction : function s_glob($dir, $typeFile=null) { $files = array(); if(is_dir($dir)) { if($dh=opendir($dir)) ............. appelée par ce code : $filesjpg = s_glob($_foo, 'jpg'); où: $_foo: esp1/commun/videoS/ sur deux sites différents installés chez le même hébergeur. Sur un des deux sites, le is_dir ne « passe » pas alors que le dossier esp1/commun/videoS/ existe. Bien sûr, j'ai échangé les deux fonctions identiques d'un site à l'autre sans rien changer au résultat. Comment se fait-il que le même dossier soit reconnu comme un dossier sur un site et pas sur l'autre? Est-il possible que les caractéristiques (phpinfo) soient différentes dun site (serveur?) à lautre ? Par avance merci de votre aide. Francois
×
×
  • Créer...