Aller au contenu

Sonia Gazil

Actif
  • Compteur de contenus

    28
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par Sonia Gazil

  1. Cette solution est idéale je pense. Mais il faut tout de même pensé à vérifier la valeur contenu dans le cookie, histoire d'éviter les injections sql
  2. Bonjour, La première solution de Théo B. ne marchera pas. D'une part, il y a des problèmes dans son code, et d'autre part, elle posera problème dans certains cas. Par exemple, si date contient "2003/05/02", sa solution retournera "2003/05/00". La seconde solution est correcte, mais il y a une petite erreur dans le premier substr. Il faudrait faire : $annee=substr($date,0,4); $mois=substr($date,-4,2); $jour=substr($date,-2,2); echo date('Y/m/d',mktime(0,0,0,$mois,$jour-2,$annee));
  3. Je pense qu'en fait, le problème vient de tes concaténations : $Date = "$Annee'-'$Mois'-'$Jour' '$DepHeure':'$DepMin':00'"; $Duree = "$TimeHeure':'$TimeMin':00'"; Ce code n'est pas correct car ta variable date contient des simples quotes. Donc du coup, ça perturbe totalement ta requête. Il faudrait faire : $Date = $Annee . '-' . $Mois . '-' . $Jour . ' ' . $DepHeure . ':' . $DepMin . ':00'; $Duree = $TimeHeure . ':' . $TimeMin . ':00'; Normalement, ça devrait fonctionner. S'il y a encore une erreur, vérifie le format de tes champs DATE. Et surtout, quand tu developpes, utilise toujours mysql_error()
  4. Je vois pas pourquoi tu mets un "\" devant le "<" de "img" ?! Je pense qu'il serait plus correct de faire :
  5. 45 boucles sur une page ? Et 45 requetes sql aussi ? Ah mon avis, il doit y avoir moyen d'optimiser ton script. ps : rien ne t'empeche d'appeller ta variable $result (sans chiffre après) à chaque fois, ça ne devrait pas poser de problème si tu exploites les resultats directement après la requete.
  6. Essai de placer un exit après ton header:location. Car sinon, le reste de la page est quand même exectuté (du moins, dans certaines configurations de php).
  7. Voici comment moi je faisais : Code pour ouvrir la session (login) : session_start(); // Ici, tout ton code pour verifier les identifants transmis par le formulaire de connexion. // Si ces identifiants sont valides : // J'enregistre son pseudo dans une varible de session $_SESSION['login'] = $_POST['login']; Sur une page quelconque : session_start(); // Vérification de la session if ( !isset($_SESSION['login']) ) { echo 'Erreur : votre session n\'est pas valide !'; exit; } // La page... Même si ça fait un bon moment que je n'ai pas manipulé les sessions, ça devrait fonctionner.
  8. Normalement oui. Pour tes redirection, tu fais : header("Location: tapage.php?".session_name()."=".session_id()); Et pour les liens, tout simplement : echo '<a href="tapage.php">ton lien</a>'; Je te conseil de tester ton système en désactivant les cookies, pour vérifier que tout fonctionne correctement.
  9. J'avais réalisé de nombreux tests, et la solution avec fopen et fread était la plus rapide. $fd = fopen ('bench_wd.php', 'r'); $p = fread ($fd, filesize ('bench_wd.php')); fclose ($fd); Mais je souhaitais vérifier ce qu'il en était au niveau "mémoire" et "charge utilisée sur le serveur"
  10. La solution que donne dièse concerne uniquement les headers. Pour les liens, ce n'est pas necessaires normalement, php le fait automatiquement. (du moins, dans la configuration par defaut de php)
  11. dièse : Oui mais, d'après mes derniers tests, file_get_contents est plus lent que fread. Mais justement, j'aurais aimé faire des tests au niveau de la mémoire utiliée. En effet, je me suis rendue compte que des fonctions affichaient de meilleures temps lors des tests effectués par un developpeur, seul face à sa machine. Mais, paradoxalement, elles sont beaucoup plus lentes lorsqu'elles sont appellées simultanément par plusieurs visiteurs... destroyedlolo : Je dois avouer que ma recherche sur la toile n'a pas été très fructueuse. Je développe sous windows XP, peux tu m'en dire davantage sur la marche à suivre pour connaitre la mémoire utilisée par un script ?
  12. Salut, Une question qui peut paraitre bête, mais parfois c'est tellement évident qu'on y pense pas : Est tu sûr de bien faire appel à la fonction session_start() en haut des pages qui posent problèmes ? Sinon, est ce un phénomène aléatoire (Sur une même page et pour une même action, parfois ça fonctionne et parfois non) ou alors, un phénomène qui se produit systématiquement sur certaines pages ?
  13. Tu pourrais oui. Mais le problème, c'est que ta table ne contiendrait, d'après ce que j'ai compris, un seul enregistrement : la somme de toutes les valeurs. Dans ce cas, l'utilisation d'une table MySQL n'est pas vraiment utile, il serait préférable de stocker cette valeur dans un fichier texte. Pour sauvegarder ta valeur dans un fichier texte, regarde du coté des fonctions fopen, fread, fwrite et fclose.
  14. Oui, car je stockais tout dans une variable. Mais imaginons que maintenant j'ai une fonction qui traite ma chaine. Une fois cette fonction executée, je n'ai plus besoin de concerver les données retournées par fread. $fp = fopen($filename, "r"); $contents = ''; while ( !feof($fp) ) { traitement_de_ma_chaine(fread($fp, 1024)); // A partir de maintenant, je n'ai plus besoin de ce que je viens de récupérer } fclose($fp); Mais la question est : ce que je viens de récupérer reste il en mémoire ? Comment le vérifier ? Comment savoir exactement la mémoire utilisée par un script php ?
  15. En fait, tu as un problème avec tes guillemets et ta concaténation. Ainsi, cette requete pose problème : $query20 = "SELECT COUNT(*) as vols_acft FROM rapport WHERE Immat = '.$immat.' AND Valid = '2'" Les "points" qui encadrent $immat sont totalement inutiles, car ta requete est placée entre double guillemets (" et "). --- Si tu souhaites utiliser la concaténation, il est préférable d'utiliser les guillemets simples. Si $immat contient une valeur numérique, tu peux faire : $query20 = 'SELECT COUNT(*) as vols_acft FROM rapport WHERE Immat = '.$immat.' AND Valid = 2' Par contre, si $immat contient (ou peut contenir, car cette méthode marche à tous les coups) des lettres ou autres caractères spéciaux, il faut utiliser des \'. Tu dois donc faire : $query20 = 'SELECT COUNT(*) as vols_acft FROM rapport WHERE Immat = \''.$immat.'\' AND Valid = 2' --- Avec les guillemets doubles, il aurait fallu faire : $query20 = "SELECT COUNT(*) as vols_acft FROM rapport WHERE Immat = '".$immat."' AND Valid = 2" ou alors : $query20 = "SELECT COUNT(*) as vols_acft FROM rapport WHERE Immat = '$immat' AND Valid = 2" ou encore (si $immat est un nombre seulement) : $query20 = "SELECT COUNT(*) as vols_acft FROM rapport WHERE Immat = $immat AND Valid = 2" --- La requete 18 contient la même erreur. Je te laisse corriger
  16. Oui, après reflexion, je me suis rendu compte que ma solution n'était pas du tout adaptée à certains cas. La solution de TheRec est donc la meilleure ici.
  17. Et pourquoi ne pas, tout simplement, faire une copie de ce fichier et la placer sur le serveur 1 ? Ca permettrait d'éviter de faire un include sur un fichier distant. Si cela n'est pas possible, la meilleure solution reste, comme l'a souligné Aksyon, la protection via un fichier .htacess.
  18. Il y a aussi la class : http://phpcodeur.net/wascripts/wamailer/ Par contre, je ne pourrai pas t'en dire beaucoup plus, je ne l'utilise pas vraiment, je connais juste de nom.
  19. Enfin, même si ma solution est, il me semble, plus optimisée, cela doit se jouer a quelques microsecondes. Donc l'erreur n'était pas normale... Pour additionner les heures, je pense qu'il serait préférable de le faire en php. Et vu la complexité des dates (60 minutes dans une heure, 60 secondes dans une minutes, etc), je te conseille de passer toutes tes heures en secondes, puis de tout additionner. Voici un exemple : $query8 = 'SELECT SUM(Timing) as heures FROM rapport WHERE Callsign = \'SJT014\' AND Valid = 2'; $result8 = mysql_query($query8) or die("Erreur. La page est peut être en construction."); $data8 = mysql_fetch_array($result8); // On récupère les heures $heures = substr($data8['heures'], 0, 2); // On récupère les minutes $minutes= substr($data8['heures'], 2, 2); // On récupère les secondes $secondes = substr($data8['heures'], 4, 2); // Si les secondes sont supérieures ou egale à 60, on incrémente les minutes if ( $secondes >= 60 ) { $minutes_a_ajouter = floor($secondes / 60); $minutes += $minutes_a_ajouter; $secondes -= $minutes_a_ajouter * 60; } // Si les minutes sont supérieures ou egale à 60, on incrémente les heures if ( $minutes >= 60 ) { $heures_a_ajouter = floor($minutes/ 60); $heures+= $heures_a_ajouter; $minutes-= $heures_a_ajouter * 60; } echo $heures, ':', $minutes, ':', $secondes; Toutefois, ce n'est pas, je pense, la meilleure solution. Mais je ne vois pas mieux pour le moment.
  20. $query = 'SELECT COUNT(*) as count FROM rapport WHERE Valid = 2'; $result = mysql_query($query) or die("Erreur. La page est peut être en construction."); $data = mysql_fetch_array($result); echo $data['count']; Cela ne serait pas plus rapide que la solution proposée par xpatval ? Je n'ai fait aucun test, mais il me semble que la fonction mysql_num_rows est plus gourmande (bien qu'elle soit necessaire dans certaines situations). Mais comme sa requette ne retourne aucune donnée, je pense qu'ici on peut s'en passer. Peut être dis je une bétise, à confirmer.
  21. Bonjour, D'après plusieurs bench, on voit que utiliser fread est plus rapide que file_get_contents. Et toujours en utilisant fread, il est plus rapide de faire : $fp = fopen ($filename, "r"); $contents = fread ($fp, filesize ($filename)); fclose ($fp); que de faire : $fp = fopen($filename, "r"); $contents = ''; while ( !feof($fp) ) { $contents .= fread($fp, 1024); } fclose($fp); Mais en terme d'utilisation ressources au niveau du serveur, y'a t'il une différence ? Car si mon fichier fait 1 000 000 octets, je suppose que la première méthode va charger d'un coup tous ces octets en mémoire. Même si cela est plus rapide, ça ne risque pas de surcharger le serveur ? Et quant est t'il pour la seconde ? Je me doute que ma question est assez fine, et je sais du tout si quelqu'un pourra me répondre clairement et avec certitude. Mais je vous remercie tout de même de m'avoir lu. Bonne soirée.
  22. Désolé de ne pas avoir pu répondre avant, des problèmes informatiques m'en ont empeché. Merci Dudu pour le lien, je ne connaissais pas ce site web. C'est exactement ce que je cherche. Et pour le coté "draggable", je pense que ça ne doit pas etre très dur à rajouter.
  23. Bonjour, Pour simplifier la navigation au sein d'un panel administrateur, j'aimerai créer des "popup intégrée à la page". Pour tout dire, je ne sais pas exactement appeler cela. Je vous donne donc un lien pour vous rendre compte par vous même : http://rialto.application-servers.com/demoRialto.jsp Puis cliquer sur "Pop up and frames" dans le menu de gauche. Une sorte de popup apparaît, vous demandant de vous identifier. C'est ce genre de popup que j'aimerai faire : - Intégrée à la page - Possibilité de la déplacer facilement - Empêche de cliquer sur les liens de la page "en arrière plan" (par exemple, vous ne pouvez pas utiliser les liens du menu de gauche) Je sais bien que je pourrais réutiliser cette librairie. Mais je trouve dommage d'utiliser une librairie compète pour réaliser une simple popup. Surtout que mon but est avant tout de comprendre ? Savez vous comment s'appelle ce genre de popup ? (pour faciliter mes recherches sur la toile) Connaissez vous des exemples, articles ou tutoriel qui en explique le fonctionnement ? Merci d'avance. Cordialement, Sonia.
  24. Pourtant, l'utilisation que j'en fait n'a rien à voir. Car j'utilise getElementByID() pour récupérer des élements, et innerHTML pour modifier leur contenu dynamiquement. Par exemple : var colone_gauche = document.getElementById("colone_gauche"); colone_gauche.innerHTML = 'nouveau contenu'; Ce code n'est pas recommandé ? Comment faire alors pour modifier le contenu d'un élément ?
  25. Donc j'ai un petit peu avancé depuis ce matin. Pour créer de nouveaux éléments, je modifie la source avec javascript, en utilisant la propriété innerHTML. Maintenant, je suis en train de regarder comment je pourrai faire pour les réorganiser, puis pouvoir exploiter le tout par un script php. En tout cas, merci beaucoup pour tous vos liens. Le seul problème des librairies, c'est quand général, il ne sont pas complètement adapté a chaque problème : ça nous oblige alors de mettre le nez dans le code, un code très long et souvent incompréhensible.
×
×
  • Créer...