Aller au contenu

BlackPage

Webmaster Régulier
  • Compteur de contenus

    78
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par BlackPage

  1. Salut, Normalement côté JS tu fais : mavar = escape(Object.toJSON(var_a_encoder)); Et côté PHP : $mavar = rawurldecode($_POST["var_a_decoder)); Et ca devrait le faire. Bon courage !
  2. Salut, Tu aurais pas notre ami google qui a fait une copie cache dudit formulaire ??? A enquéter, ca serait pas la première fois. Bon courage !
  3. Salut, Fifo je connais pas la problématique, mais pour le retour, si tu utilisais un champ Prix_Original, ca me semblerait résoudre une partie de ton souci même si ca alourdit un peu... Bon courage !
  4. Salut, Y'a un truc avec les sessions, le mieux est de mettre ta variable $_SESSION["Utilisateur"] = NULL par exemple parce que sinon faut détruire le cookie également, ce qui est assez lourd. Bon courage !
  5. Salut, Je ne vois pas de souci bloquant : 1. Récup le dernier plein du mois dernier $req_plein = mysql_query("select id from conso where mois='$avant_dernier_mois' and plein = '1' order by id DESC limit 0 , 1"); 2. Récup tous les kms des non pleins du mois derniers postérieurs au point 1. $req_pas_plein = mysql_query("select sum(kms) from conso where mois='$avant_dernier_mois' and plein = '2' and id > '".$req_plein["id"]."' "); Normalement le tour est joué, $req_pas_plein contient la somme demandée... Bon courage pour la suite !
  6. Salut, De ce que j'en sais, tu dois obligatoirement avoir un critère te permettant d'exclure certains enregistrement de ta requete. Dans ton cas, en admettant que tu aies une autre colonne index autoincrémentée, tu pourras rajouter dans ta requete : FROM conso WHERE Nom_Champ_Autoinc != 'une_certaine_valeur' Egalement, pour ne pas inclure les valeurs = 10 : FROM conso WHERE litres != '10' mais ta quatrième ligne sera alors également exclue... Bref pas de méthode miracle, donc bon courage à toi !
  7. Normalement tout cela se gère dans le phpmyadmin, quand tu es connecté avec un utilisateur qui peut paramétrer les droits des autres ( root par exemple sur un dédié ). Alors tu as une section de phpmyadmin qui s'appelle "utilisateurs" et pour chacun tu peux assigner des droits à une ou plusieurs tables... Sans oublier de faire un flush privileges après modification...
  8. BlackPage

    Mdkir

    Salut, Pour être passé par là et avoir discuté avec Dan : Pour que mkdir fonctionne correctement il faut dans l'idéal que l'utilisateur php soit le même que l'utilisateur système. Pour que ca fonctionne chez moi avec la bonne sécurité j'ai confié cette opération à Dan sachant qu'alors PHP ne s'exécute plus en tant que process il me semble mais d'une autre manière. A partir de là, les CHMOD 777 sont proscrits mais les CHMOD 755 fonctionnent comme il faut^^ Bon courage à toi,
  9. Salut, Déjà ca ne fait pas de mal de faire un petit AddDefaultCharset UTF-8 dans ton .htaccess pour être sur que ton serveur renvoie bien des pages en UTF8... Le respect des encodages est une vraie galère, donc bon courage
  10. Salut, Si ton lien est toujours de la même forme : $Data = explode("/",$Chaine_A_Traiter); $NomFichier = $Data[count($Data)-1]; -> Ici on récup ce qu'il y a après le dernier slash $Data = explode("_",$NomFichier); $Numero = $Data[count($Data)-1]; -> Si ton numéro est toujours en dernier, tu le récup ici ! Bon courage !
  11. Salut, Merci pour l'info, je vais me renseigner auprès de mon client.
  12. Salut à tous, Mon problème ne concerne pas directement un langage particulier mais comme je développe sous PHP pour ce cas, je mets ca ici. Donc je développe pour un client, directement sur son serveur de dev. Si par malheur je fais une faute de syntaxe dans PHP ( oubli d'une virgule en fin de ligne par exemple ), j'ai immédiatement une page entièrement blanche avec zéro code source dedans. Pas très pratique pour débug. Ce qui est curieux, c'est que le ERROR_REPORTING de son PHP est à E_ALL... Notez que par contre une erreur mysql ne bloque pas le script ( si par exemple j'ai une erreur mysql suivie d'un header, le header va fonctionner et rediriger... ). Quelqu'un a-t-il une idée de ce qui se passe ? D'avance merci pour vos lumières...
  13. Salut à tous, Je galère depuis longtemps pour trouver un système qui empêche aux postes clients de conserver certains fichiers en cache. A l'époque du mutualisé on n'arrivait à rien, mais depuis que j'ai un dédié, je trouve ce genre d'informations ( cf plus bas ) concernant l'utilisation de .htaccess pour gérer ce genre de problème de manière "définitive". Quelques experts en la matière pour confirmer que c'est du sérieux ? D'avance merci pour vos lumières ---- Informations glanées via google ------- # BEGIN Expire headers <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 7200 seconds" ExpiresByType image/jpg "access plus 2592000 seconds" ExpiresByType image/jpeg "access plus 2592000 seconds" ExpiresByType image/png "access plus 2592000 seconds" ExpiresByType image/gif "access plus 2592000 seconds" AddType image/x-icon .ico ExpiresByType image/ico "access plus 2592000 seconds" ExpiresByType image/icon "access plus 2592000 seconds" ExpiresByType image/x-icon "access plus 2592000 seconds" ExpiresByType text/css "access plus 2592000 seconds" ExpiresByType text/javascript "access plus 2592000 seconds" ExpiresByType text/html "access plus 7200 seconds" ExpiresByType application/xhtml+xml "access plus 7200 seconds" ExpiresByType application/javascript A259200 ExpiresByType application/x-javascript "access plus 2592000 seconds" ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" </IfModule> # END Expire headers
  14. Salut ! Alors j'imagine que ce que tu mets dans ton exemple c'est la chaine JSON telle que créée par JS pendant ton traitement. Plusieurs choses à savoir : 1. JSON fonctionne obligatoirement en UTF8 donc déjà côté PHP tout doit être nickel à ce niveau. 2. Toujours côté JS, obligatoirement encoder les chaines de ton objet avec encodeURI() avant de transmettre vers PHP. 3. Côté PHP, ta chaine est légèrement transformée durant la transmission par l'ajout de caractères d'échappement donc avant toute manip : $Variable = stripslashes($Variable); $Variable = json_decode($Variable); print $Variable->Index; ( Index étant le nom d'une des propriétés de ton objet ). Là logiquement tu récupères un objet PHP en bonne et due forme... Bon courage pour la suite !
  15. Salut, Perso, j'aurais plutot fait comme ca : $str = 'a. b. c. d. e. f'; $Liste = explode('.', $str); for ($i=0;$i<count($Liste);$i++){ print $Liste[$i] . "<br>"; } après tu peux traiter chaque élément comme tu veux dans ta boucle... Bon courage !
  16. Salut ! Après avoir fait beaucoup de procédural, je passe également peu à peu à l'objet total ( avec beaucoup d'interfaçage JS ). Je dirai pour les moins : le fait que la structure générale d'un site est alourdie ( beaucoup de modules différents à inclure, charger dans un certain ordre ). Et pour les plus : code plus robuste, plus propre et surtout bien plus portable... Actuellement, je ne manipule plus que des classes php de base ( en général l'attaque d'une base mysql ) et je délaisse tout le reste à un framework javascript spécialisé dans la manipulation du DOM et donc... en objet complet lui aussi... Le résultat : moins d'1h pour développer un module de gestion des comptes avec 20 champs à traiter, avec tous les gestionnaires d'évènements inclus, les vérifications à la saisie, l'interfaçage Ajax->PHP. PHP qui ne fait plus d'ailleurs que recevoir le formulaire ajax sous la forme d'un objet, le traiter et le renvoyer au client...
  17. Salut ! En fonction du type du serveur, tu peux être amené à modifier légèrement le locale. Perso j'utilise ca : setlocale(LC_TIME, "fr_FR.utf-8"); Ensuite, je ne suis pas sur que ton _strtotime fonctionne tout seul comme ca... Perso j'utilise ca, à adapter : $Date_Formattee = strftime ("%A %d %B %Y", strtotime($Location["Date_Retour_EN"])); Donc pour toi : $Date_Formattee = strftime ("%H:%m:%i %A %d %B %Y", strtotime($comment->date_created)); Attention : pas bien sur la : %H:%m:%i, chercher sur la doc PHP de strftime pour avoir les termes exacts... Ca devrait le faire ensuite... Bon courage !
  18. Salut ! A question simple, réponse simple : Si ca fonctionnait avant chez un autre hébergeur et que juste après la migration tu rencontres des soucis, il se peut que Amen t'inderdise l'accès à la fonction mail() de PHP pour éviter le spam. Renseigne-toi la dessus avant de chercher à modifier ton code ! Bon courage !
  19. Salut, Difficile de répondre : y'a très peu de code... Si tu veux extraire $var['5'] de $news, il faut soit que tu saches ou commencer à extraire ( et donc ou s'arreter ), ou mettre un caractère séparateur : $news .= "^" . $var['5']; Page 2 tu fais alors : $Data = explode('^', $news) $Data[0] vaut $news sans var['5']; $Data[1] vaut var['5']; J'espère t'avoir répondu...
  20. Salut, Perso j'ai laché l'affaire d'utiliser simplement le mail php... Je te recommande l'adoption d'une classe mail telle que phpMailer, tu t'embeteras beaucoup moins... Bon courage !
  21. Salut, Par définition, $this renvoie vers ton objet que tu as déclaré en tant que objet page. Tu ne peux donc pas transformer ton $this "Page" en $this "Article"... Par contre, tu peux faire : $this.Type = new Article et alors tu stockes ton nouvel objet article dans une propriété de ta classe Page... En espérant que ca t'aide.
  22. Salut, Ci-dessous le script que j'utilise pour redimensionner une image soumise à la volée, à adapter à tes besoins... $NomLogo = $_FILES['Logo']['name']; $SizeLogo = $_FILES['Logo']['size']; $TmpLogo = $_FILES['Logo']['tmp_name']; $ErrorMsg = $_FILES['Logo']['error']; $RepCible = "images/logos_clients/"; $MaxSize = 300000; //Limite de 100Ko $MaxSizeWidth = 150; //Limite de 90 pixels de large $MaxSizeHeight = 50; //Limite de 70 pixels de haut $new_Type = "jpg"; $TailleLogo = getimagesize($NomTmpLogo); $TypeLogo = $TailleLogo[2]; $LogoCible = $RepCible . "logo" . $Client_Info["Client_ID"]; //print "Nom temporaire : $NomTmpLogo<br>"; //print "Nom cible : $LogoCible<br>"; //exit; if(!empty($NomLogo)){ if($SizeLogo <= $MaxSize){ if(move_uploaded_file($NomTmpLogo,$LogoCible)) { switch($TypeLogo){ case 1: $TypeLogo = "gif"; break; case 2: $TypeLogo = "jpg"; break; case 3: $TypeLogo = "png"; break; default: $TypeLogo = "Erreur"; break; } if($TypeLogo != "Erreur") { //On charge l'ancien logo suivant son type switch($TypeLogo){ case "gif": $oldLogo = ImageCreateFromGif($LogoCible); break; case "jpg": $oldLogo = ImageCreateFromJpeg($LogoCible); break; case "png": $oldLogo = ImageCreateFromPng($LogoCible); break; } //On détermine la taille de l'ancien logo $oldLogoWidth = $TailleLogo[0]; $oldLogoHeight = $TailleLogo[1]; if($oldLogoHeight > $oldLogoWidth){ //Hauteur du nouveau logo $newLogoHeight = $MaxSizeHeight; //On maintient le ratio de l'image $newLogoWidth = round(($newLogoHeight / $oldLogoHeight) * $oldLogoWidth); }elseif($oldLogoHeight < $oldLogoWidth){ //Largeur du nouveau logo $newLogoWidth = $MaxSizeWidth; //On maintient le ratio de l'image $newLogoHeight = round(($newLogoWidth / $oldLogoWidth) * $oldLogoHeight); }elseif($oldLogoHeight == $oldLogoWidth){ //Largeur & hauteur du nouveau logo $newLogoWidth = $MaxSizeWidth; $newLogoHeight = $MaxSizeHeight; } //Création du nouveau logo $newLogo = ImageCreateTrueColor($newLogoWidth,$newLogoHeight); //Redimentionnement de l'ancien logo dans le nouveau logo ImageCopyResampled($newLogo,$oldLogo,0,0,0,0,$newLogoWidth,$newLogoHeight,$oldLogoWidth,$oldLogoHeight); //On sauvegarde le nouveau logo en remplacant l'ancien suivant son type switch($new_Type){ case "gif": ImageGif($newLogo,$LogoCible); break; case "jpg": ImageJpeg($newLogo,$LogoCible); break; case "png": ImagePng($newLogo,$LogoCible); break; } $new_Nom = "Logo" . $Client_Info["Client_ID"] . ".".$new_Type; rename($LogoCible,$RepCible.$new_Nom); //On détruit les images temporaires ImageDestroy($newLogo); ImageDestroy($oldLogo); //Fichier Final avec chemin compplet $Final_File = $RepCible . $new_Nom; } else { //Mauvais format de Logo, avertir } } else { //Pbe upload avertir exit; } } else { //Image >300KO exit; } } } Bon courage !
  23. BlackPage

    SELECT aléatoire

    Salut Select * from Matable order by Rand() et le tour est joué...
  24. Salut, Je ne connais pas ton site ni ta manière de développer mais si tu veux mettre ca dans un ordre précis, rajoute une dimension à ton tableau : <?php $Compteur = 0; while ($row = mysql_fetch_array($sql)){ $row_bloc_textes[$Compteur]['Titre'] = $row['Titre']; $Compteur++ } ?> Ensuite, tu peux accéder à tes titres comme ca : <?php echo $row_bloc_textes[1]['Titre']; // exemple pour afficher le bloc d'incide 1 donc 2è ligne rapatriée par mysql ?> En espérant que ca t'aide...
  25. Salut à tous, Je rencontre un souci sur une application de gestion de mise à jour de ma suite logicielle en PHP. J'ai fouillé le forum mais n'ai rien trouvé donc je pose ma question : Comment faire en sorte que l'utilisateur PHP soit le même que l'utilisateur FTP afin de ne pas subir de restriction sur la manipulation de fichiers ? Actuellement, les fichiers traités par mes scrits PHP ne peuvent être supprimés via FTP et inversement, ce qui rend évidemment certaines choses compliquées dans la gestion d'une grosse application. Pour précision, je suis sur une Debian 5... administrée par Dan^^ D'avance merci pour vos lumières.
×
×
  • Créer...