Jump to content

Sonia Gazil

Actif
  • Content Count

    28
  • Joined

  • Last visited

Community Reputation

0 Neutre
  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
×
×
  • Create New...