Jump to content

sandrinoo

Hubmaster
  • Posts

    168
  • Joined

  • Last visited

Everything posted by sandrinoo

  1. Bon ben une fonction de comparaison sans foreach dedans pour classer en premier les résultats sur un élément string ça doit pas être trop faisable en fait... Merci à vous.
  2. Moi ce que j'aurais voulu c'est une fonction simple de comparaison du type : cmp($a,$b) {if($a[1]===$b[1]) return 0;return ($a[1]>$b[1])? -1 : 1;} puis usort($table,'cmp'); Mais bien sûr pas celle-là qui sert à trier par ordre décroissant des valeurs numériques. C'est pas possible pour faire ce que je veux ?
  3. Merci beaucoup Blackpage mais je m'y prends comment pour remplir la fonction : sortmulti($table, ?, ?,?,?); désolée, mais je suis pas une pro du php (je bidouille encore en procédural plus rapide pour de petits sites) En plus il y aurait pas plus simple car si on utilise 2 foreach autant faire non ? : foreach($table as $item){ if ($item[1]=='appartement') {echo $item[1]; }} foreach($table as $item){ if ($item[1]!='appartement') {echo $item[1]; }} Dis moi si je s-dis une bêtise ?
  4. Bonjour à tous, Quand je bloque depuis 2 heures, grrr... Voilà le souci, j'ai un array de ce type : $table = array( array(1,'hôtel','bleu'), array(2,'villa','jaune'), array(3,'appartement','rouge'), array(4,'appartement','rose'), array(5,'villa','vert') ); Et je voudrais juste sortir en premier tous les 'appartement' (avec le reste laissé tel quel) soit comme ceci : Array ( [0] => Array ( [0] => 3 [1] => appartement [2] => rouge ) [1] => Array ( [0] => 4 [1] => appartement [2] => rose ) [2] => Array ( [0] => 1 [1] => hôtel [2] => bleu ) [3] => Array ( [0] => 2 [1] => villa [2] => jaune ) [4] => Array ( [0] => 5 [1] => villa [2] => vert ) ) J'y arrive avec 2 foreach mais c'est un peu lourd et donc j'aurais aimé utilisé un truc plus simple comme une fonction de comparaison type cmp($a,$b) mais je n'y suis pas arrivée et rien trouvé sur internet non plus. Donc je me tourne en dernier recours vers Webmaster-Hub, Gros merci d'avance !
  5. sandrinoo

    Replace SQL ?

    Merci Dan, non ça ne fonctionne pas mais ce n'est pas de ta faute. Ce n'est pas le REPLACE qui doit causer un souci. J'ai découvert qu'il y a un problème en amont : je n'arrive pas à faire un select sur des champs de ma bd qui ont un espace ou un apostrophe. Un simple WHERE var = 'L'hermine' ou 'le chat' ne fonctionne pas, d'où mon interrogation : 1/ Est-il conforme et sécure que dans ce champs de ma bd j'ai des espaces et des apostrophes (sans antislash par exemple) ? 2/ et si c'est conforme on fait comment avec un simple WHERE var= pour y accéder ? Merci d'avance Dan,
  6. sandrinoo

    Replace SQL ?

    Hello à tous ! je me bats depuis hier avec un truc qui me parait simple mais je ne comprends pas ce que je fais de mal. Voilà, j'ai une variable $var avec des tirets et dans ma base de données mysql j'ai les mêmes valeurs mais sans tiret (avec un espace à la place). Donc je pensais faire pour récupérer les données de la BD : SELECT var FROM bd WHERE REPLACE (var, '', '-') = '$var' Mais ça ne fonctionne pas, j'ai pas le droit de faire ce genre de manip ? (Je précise que l'interclassement de ma BD est en utf8mb4_unicode_ci et que je me connecte à elle également en utf8mb4_unicode_ci avec un "mysqli_set_charset($con, "utf8mb4");")
  7. Oui, au début de mon htaccess j'ai ça : ErrorDocument 404 '404 htaccess' Options +FollowSymlinks RewriteEngine on RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] RewriteRule ^.*$ https://www.%1%{REQUEST_URI} [L,NE,R=301] Et oui je suis passée de PC (ou j'ai créé le htaccess) à MAC il y a 1 an ?
  8. Oui ça c'est la première chose que j'avais faite faite au départ. J'ai quand même retesté maintenant comme tu me dis avec "RewriteRule ^news/$ /news.php [L]" AVANT "RewriteRule ^(.*)/$ /categorie.php?cat=$1 [L]" mais sans succès : - la page /news/ affiche en fait /categorie.php?cat=news Par contre si Je place un # devant "RewriteRule ^(.*)/$ /categorie.php?cat=$1 [L]" là ok ça marche pour /news/ (mais plus pour les catégories bien sûr). Bizarre non ??
  9. Oui je me suis mal exprimée : c'est exactement ce que tu dis. 1/ Alors mon code est correct pour faire cela ? 2/ et comment faire une exception sur /news/ (sachant que la base de /news/ est news.php )?
  10. Bonjour Dan et merci, Alors là je ne comprends plus rien car chez moi ça fonctionne en générant dans mon navigateur, une url propre avec un slash final de type classique : www.nd.com/nom_de_cat/ Comment tu écrirais ça toi ?
  11. Bonjour à tou.te.s, J'ai dans mon htaccess un rewriting d'url comme ceci qui génère une url avec un slash de fin : RewriteRule ^(.*)/$ /categorie.php?cat=$1 [L] J'ai par ailleurs un autre fichier news.php dont je voudrais également que l'url soit aussi avec un slash de fin "/news/" Mais bien sur ma réécriture d'url m'en empèche donc j'ai testé 3 essais d'exceptions mais sans succès : RewriteRule ^/news/ - [L] RewriteCond %{REQUEST_FILENAME} !^news/ RewriteCond %{REQUEST_URI} !^/news/ Je m'y prends mal, quel est le souci ? (je suis en mutu chez OVH). Merci d'avance si quelqu'un voit...
  12. Bon ben j'ai tenté avec ErrorDocument 404 http://www.tonsite.com/404.php en haut de fichier, mais c'est exactement la même chose (et puis ça ne me conviendrait pas car ça génère une 302 avant la 404). Pas de trace non plus de AllowOverride FileInfo dans mes logs d'Apache (mais j'ai encore pas ceux d'aujourd'hui, je les aurais demain mais je doute, j'irais voir lundi à tout hasard). En fait je pense que c'est pas possible avec mon serveur. Merci encore pour ta patience Dan et d'être toujours là quand j'en ai besoin ! Te souhaite un excellent W-E !
  13. Ou voir cette config d'Apache en mutu chez OVH ? De toute façon, je n'ai pas le droit de la modifier en mutualisé, il me semble ?
  14. Je viens de finir mon Dahl de lentilles :) dsl Dans mon fichier phpinfo pas d'AllowOverride ! Ca doit être pour ça. Pas moyen de l'activer par une procédure ? (rappel : mutu chez ovh)
  15. Ah d'accord ! oui c logique en plus. Mais non visiblement rien n'y fait Dan, j'ai placé ErrorDocument 404 /404.php en haut du fichier .htaccess tout en haut : - test avant Options +FollowSymlinks et RewriteEngine on - et test apres Options +FollowSymlinks et RewriteEngine on En prenant soin de vider cache à chaque fois : firefox toujours page blanche et chrome, 404 de chrome ;(
  16. 1/ Oui c'est exactement ce que je pensais, on peut pas tester l'existence. Mais je posais la question, on sait jamais... Je vais tenter de mettre dans le haut de mon fichier php une condition du style si $var.html n'existe pas > 404 Merci Dan. 2/ Par ailleurs, une dernière question que je me suis toujours posée, en lien avec ça : Dans mon .htaccess j'ai un "ErrorDocument 404 /404.php" qui fonctionne très bien (en redirigeant les 404 vers ma propre page 404.php) sauf pour : /fausse_url/ C'est bien une 404, mais elle n'est pas redirigée vers la page 404.php (ca me donne sous firefox une page blanche, et sous chrome la 404 de chrome). C'est peut être que j'oublie un truc dans ma règle de réécriture non ? : RewriteRule ^(.*)/$ /cat.php?cat=$1 [L]
  17. Bonjour Dan, merci de me répondre : oui ce sont des fichiers php à la base. Mon ancienne règle pour les url.html était : RewriteRule ^(.*)\.html$ /cat.php?cat=$1 [L] Ma nouvelle règle pour les /url/ est maintenant : RewriteRule ^(.*)/$ /cat.php?cat=$1 [L]
  18. Du coup, comme j'ai pas eu de réponse, je sais pas si c possible :( Pour être plus claire, simplement : - avant mon .htaccess générait des urls en .html (url.html) - maintenant, après refonte, mon .htaccess génère des urls avec slash (/url/) et donc plus du tout de .html Voici ce que j'aurais aimé avoir : - les urls.html redirigés (en 301) UNIQUEMENT sur mes /urls/ qui existent (200) = pour récupérer les backlinks - MAIS les urls.html directement en 404 (sans passer par une 301 avant), dont les /urls/ n'existeraient pas en 200. Le problème est qu'actuellement, n'importe quel url.html tapée finit sur /url/. Et moi j'aurais voulu que les mauvaises urls html soit directement des 404. Le seul moyen que j'ai trouvé est d'écrire une par une, dans le htaccess, toutes les bonnes urls concernées, mais y-a-il un moyen moins rébarbatif ? Htaccess, php ? Sachant que je suis en Mutu chez Ovh. Dan, Désolée de revenir à la charge mais cette question occupe mon esprit...
  19. Ca ne marche pas non plus. Mais je crois que je te demande l'impossible Dan car : pour être plus claire, ces fichiers .html n'existent plus (ils existaient avant la refonte de mon site, générés par l'ancien .htaccess). Mais je tiens à les récupérer car mes backlinks externes qui pointent vers mon site sont en .html
  20. En tout moi j'ai testé ça de mon côté : RewriteRule ^/?index\.html$ / [R=301,L] RewriteRule ^/?(.*)/index\.html$ /$1/ [R=301,L] RewriteCond %{REQUEST_URI} -f RewriteRule ^/?(.*)\.html$ /$1/ [R=301,L]
  21. Merci Dan mais ça ne fonctionne pas : les vraies (et les fausses) .html vont vers la errordocument 404...
  22. Merci Dan, oui mais si j'enlève cette ligne les .html ne seront plus redirigés et ce n'est pas ce que je veux. En fait ce que j'aurais voulu : que mes vraies pages vraiespages.html soient redirigées sur les /vraiespages/ et que les pages tapées avec n'importequoi.html soient redirigées vers des 404. Visiblement c'est pas possible sauf si je tape dans le htaccess uniquement les 80 lignes pour les 80 pages à rediriger. Vous confirmez Dan ? Et vous pensez que c'est lourd à gérer 80 redirections de pages dans le .htaccess ou c pas grave ?
  23. Oui merci Dan, c'est exactement ce que je voulais, cela marche super. Maintenant, en réfléchissant, je me pose plein de questions... Je me dis que n'importe quoi tapé avec .html derrière me fait une 301 vers une 404. Exemple : nimportequoi.html > 301 > ca me crée une page /nimportequoi/ (avec une page blanche 404) 1/ pourquoi cette page 404 est blanche, est-elle une vraie 404 ? : n'y a-t-il pas moyen d'avoir une vraie 404 (et sans redirection 301 avant) 2/ pourquoi cette page blanche 404 n'est pas redirigée automatiquement par le errordocument 404.php du .htaccess ? 3/ la seule solution pour régler ces problèmes : lister dans le htaccess uniquement les pages à rediriger ? C'est un petit site et il y aurait 80 pages à rediriger mais est-lourd pour le htaccess ? 4/ A ce propos y-a-t-il moyen de placer un petit code dans le htacess pour mesurer la rapidité (comme on le fait en php avec "microtime") Vous voyez, ma petite tête est pleine de questions Bref qu'en pensez-vous Dan ? Merci d'avance si vous me répondez
  24. Bonjour et bon hiver J'ai un serveur PHP Version 4.4.9 chez OVH en mutualisé et j'ai un petit problème dans mon htaccess en ce qui concerne l'url rewriting. Je voudrais redirigé toutes mes pages xxx.html vers /xxx/ (exemple /auto.html redirigé sur /auto/) avec ce code : #RedirectMatch 301 (.*)\.html$ https://www.domaine.com$1/ Ce dernier fonctionne très bien sauf pour la page d'index car il me la transforme en https://www.domaine.com/index/ J'aimerai bien évidemment simplement que la page d'index soit https://www.domaine.com Quelqu'un voit ?
  25. Oui merci pour ta réponse Eric. Oui ça je m'en doutais avec array_merge mais je voulais juste savoir si c'était plus simple et plus rapide un script qui tourne sur 1 array_merge du total (comme tu me l'as créé plus haut) ou un autre script sur 2 arrays distincts. Mais ça doit être pareil à peu de chose près...
×
×
  • Create New...