[RESOLU] Re: url rewriting et lien

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Re: url rewriting et lien

Re: url rewriting et lien

par yoann38 » 06 nov. 2015, 21:59

Connerie de débutant....
Je ne faisait pas appel à la bonne variable problème résolu

Debug :wink:

Re: url rewriting et lien

par yoann38 » 06 nov. 2015, 21:46

J'ai put avancer et le seul problème qui me reste apparament est un problème de constrution ds ma boucle je suppose
car en fait mon script permet de selectionner les 5 dernieres annonce.

Ca marche , ca selectionne bien 5 annonces différentes cependant le lien est tjr le même àsavoir le lien des 5 annonces correspond uniquement à la premère.

Code:
<ul class="product_list_widget">     
	<?php
    
     $pub = "SELECT * FROM loisirs  WHERE `id_type_loisirs` = $type AND `loisirs`.`date_fin_sortie` > NOW() and id_departements = $departement  ";
     $pub .= " ORDER BY id_loisirs DESC LIMIT 0, 5";
     $req = $bdd->query($pub);
     if($req->rowCount() > 0) {
                
     while($ligne = $req->fetch(PDO::FETCH_ASSOC)){ 
            
     $image = !empty($ligne['photo']) && file_exists($path.'img/annonce/600/'.$ligne['photo']) ? 'img/annonce/600/'.$ligne['photo'] : 'img/remplacement/'.simplification($aLoisirs[$ligne['id_type_loisirs']]).'.jpg';
    

    // Suivant le type
    if (!empty ($ligne['url_fnac'])) {
	
	$lien = "".$row["url_rewrite"]."/".$row["id_loisirs"];
	
    $type_photo = '<li>
    <a href="/monsite/'.$lien.'"><img class="attachment-shop_thumbnail wp-post-image" src="'.$ligne['photo'].'" alt="'.$ligne['titre'].'" title="'.$aLoisirs[$ligne['id_type_loisirs']].' '.$ligne['titre'].'"></a>
    <a href="/monsite/'.$lien.'"><span class="product-title">'.cutTexte(ucfirst(strtolower($ligne['titre'])), 30, '...').'</span></a>
    <span class="amount">'.strip_tags($ligne['city']).' ('.str_pad($ligne['id_departements'], 2, "0", STR_PAD_LEFT).')</span>
      </li>';
    }else{ echo'<li>
    <a href="/monsite/'.$lien.'"><img class="attachment-shop_thumbnail wp-post-image" src="'.$image.'" alt="'.$ligne['titre'].'" title="'.$aLoisirs[$ligne['id_type_loisirs']].' '.$ligne['titre'].'"></a>
    <a href="/monsite/'.$lien.'"><span class="product-title">'.cutTexte(ucfirst(strtolower($ligne['titre'])), 30, '...').'</span></a>
    <span class="amount">'.strip_tags ($ligne['city']).'  ('.str_pad($ligne['id_departements'], 2, "0", STR_PAD_LEFT).')</span>
      </li>';
    }
    // fin
      
    echo $type_photo ."\n";
    
        
    }  
            
        } else {
            echo 'Aucune annonce enregistrées ';
        }  
        ?>
    </ul>

Re: url rewriting et lien

par yoann38 » 06 nov. 2015, 20:25

Pas bete...
Ceci dit mes liens deviennent maintenant :

http://lasortie.fr/la-grande-sophie-+-b ... p?id=20382

au lieu de http://lasortie.fr/la-grande-sophie-+-b ... amon/20382

/annonce_zoom.php?id= ( c'est avant l'url rewriting ca)
Je patauge la :/

Du coup mes liens son ainsi maitenant :
<a href="/'.$url.'"><img class="attachment-shop_thumbnail wp-post-image" src="'.$image.'" alt="'.$ligne['titre'].'" title="'.$aLoisirs[$ligne['id_type_loisirs']].' '.$ligne['titre'].'"></a>
    <a href="/'.$url.'"><span class="product-title">'.cutTexte(ucfirst(strtolower($ligne['titre'])), 30, '...').'</span></a>

Re: Re: url rewriting et lien

par or 1 » 06 nov. 2015, 20:07

il faut faire commencer le lien par un / si ton url contient des / (ce qui est interprété comme un répertoire.
donc <a href="/'.$url.'">

Re: url rewriting et lien

par yoann38 » 06 nov. 2015, 19:35

Je ne vois pas le problème j'ai continuer a chercher, une fois dedirigé sur la bonne page grace à l'url rewrite
127.0.0.1/lasortie/annonce_zoom.php?id=434502 devient http://127.0.0.1/lasortie/la-grande-sop ... mon/434502

Une fois dans la page redirigé mes liens déconne car il garde en parametre l'url
Si je clique sur une autre annonce il garde le parametre en compte pour l'exemple:
http://127.0.0.1/lasortie/la-grande-sop ... mon/434502

si je clique sur une autre annonce :
Je me trouve sur la page http://127.0.0.1/lasortie/bourse-vetements/424157
je clique sur une autre annonce le lien devrait juste changer de titre et de id, la nan il le rajotue après et l'url devient
http://127.0.0.1/lasortie/bourse-veteme ... din/424352

Le code qui m'affiche les annonces:
<?php
//Selection de l'annonce
$sql = ("SELECT * FROM loisirs WHERE id_loisirs = ".$_GET['id']." AND valide = 1");
$id = $_GET["id"];
$req = $bdd->query($sql);
$row = $req->fetch() ;
$req->closeCursor();


if($row["url_rewrite"]!=$row["url_rewrite"]) {
header("location:".$row["url_rewrite"]."/".$row["id_loisirs"]);

}
// Suite du code et plus loin on affiches les annonces
<?php
		
        $pub = "SELECT * FROM loisirs  WHERE `id_type_loisirs` = $type AND `loisirs`.`date_fin_sortie` > NOW() and id_departements = $departement  ";
        $pub .= " ORDER BY id_loisirs DESC LIMIT 0, 5";
        $req = $bdd->query($pub);
        if($req->rowCount() > 0) {
                
        while($ligne = $req->fetch(PDO::FETCH_ASSOC)){ 
            
        $image = !empty($ligne['photo']) && file_exists($path.'img/annonce/600/'.$ligne['photo']) ? 'img/annonce/600/'.$ligne['photo'] : 'img/remplacement/'.simplification($aLoisirs[$ligne['id_type_loisirs']]).'.jpg';
		
		// Rewrite
		$url = "".$ligne["url_rewrite"]."/".$ligne["id_loisirs"];
            
		// Suivant le type
		if (!empty ($ligne['url_fnac'])) {
		$type_photo = '<li>
		<a href="'.$url.'"><img class="attachment-shop_thumbnail wp-post-image" src="'.$ligne['photo'].'" alt="'.$ligne['titre'].'" title="'.$aLoisirs[$ligne['id_type_loisirs']].' '.$ligne['titre'].'"></a>
		<a href="annonce_zoom.php?id='.$ligne['id_loisirs'].'"><span class="product-title">'.cutTexte(ucfirst(strtolower($ligne['titre'])), 30, '...').'</span></a>
		<span class="amount">'.strip_tags($ligne['city']).' ('.str_pad($ligne['id_departements'], 2, "0", STR_PAD_LEFT).')</span>
      </li>';
		}else{ echo'<li>
		<a href="'.$url.'"><img class="attachment-shop_thumbnail wp-post-image" src="'.$image.'" alt="'.$ligne['titre'].'" title="'.$aLoisirs[$ligne['id_type_loisirs']].' '.$ligne['titre'].'"></a>
		<a href="'.$url.'"><span class="product-title">'.cutTexte(ucfirst(strtolower($ligne['titre'])), 30, '...').'</span></a>
		<span class="amount">'.strip_tags ($ligne['city']).'  ('.str_pad($ligne['id_departements'], 2, "0", STR_PAD_LEFT).')</span>
      </li>';
		}
		// fin
			
		echo $type_photo ."\n";
    
        
		}  
            
        } else {
            echo 'Aucune annonce enregistrées ';
        }  
        ?>

Re: url rewriting et lien

par yoann38 » 06 nov. 2015, 10:32

C'est fou je vais continuer à me pencher sur le truc.
Et pandant que j'y pense :mrgreen:

Une fois redirigé sur la page grace à mon url_rewriting.
RewriteRule ([a-zA-Z0-9\-]+)/([0-9]+) annonce_zoom.php?url=$1&id=$2
l'url est bien transformé puisqu'elle devient
http://127.0.0.1/lasortie/la-grande-sop ... mon/434502
au lieu de 127.0.0.1/lasortie/annonce_zoom.php?id=434502

Par contre sur la page sur la quelle ca nous redirige tous mes liens via cette page garde en parametre dans l'url le titre de l'url
exemple :
Le lien pour accéder à son compte est normalement : http://127.0.0.1/lasortie/mon_compte.php et via cette page devient
http://127.0.0.1/lasortie/la-grande-sop ... compte.php

Re: url rewriting et lien

par @rthur » 06 nov. 2015, 10:20

Il n y a que le champ url_rewrite qui déconne en ligne pourquoi je ne sais pas.
Moi non plus :D
Mais vu ce que tu nous as dit, il ne fait pas de doute que cette variable est vide.
Fais un var_dump($ligne["url_rewrite"]) à différents endroits dans ton code et tu verras bien si elle est vide ou pas, et si elle est bien récupérée au départ ça te permettra de rechercher à quel moment tu la perds :)

Re: url rewriting et lien

par yoann38 » 06 nov. 2015, 10:07

Salut à toi.
Donc je suis sur d'être bien connecté car je récupère bien les autres infos même en ligne, comme le titre, l'id, la photo .....
Il n y a que le champ url_rewrite qui déconne en ligne pourquoi je ne sais pas.

Re: Re: url rewriting et lien

par @rthur » 06 nov. 2015, 10:00

Bonjour,

A priori, je dirai que $ligne["url_rewrite"] est vide.

Donc à toi de regarder où cette variable est sensée être créée et pourquoi elle ne l'est pas.
Si c'est issu d'une bdd, vérifie que tes paramètres de connexion à celle ci sont corrects et que tu n'as pas d'erreur SQL.

Si tu utilise mysql_* : http://php.net/manual/en/function.mysql-error.php
Si tu utilise mysqli_* : http://php.net/manual/fr/mysqli.error.php
Si tu utilises PDO : http://php.net/manual/en/pdo.errorinfo.php

Re: url rewriting et lien

par yoann38 » 06 nov. 2015, 01:33

Salut....
J'ouvre un nouveau post car ce n'est pas vraiment le même problème

Mon code marche très bien en local mais pose un problème en ligne
Je ré écrits les urls grace à des variables récupérer en bdd, rien d'extraordinaire.

Mon code:
// Rewrite
		$url = "".$ligne["url_rewrite"]."-".$ligne["id_loisirs"];

		
          // type
		if (!empty ($ligne['url_fnac'])) {
		echo  '<div class="annonce">
                   <div class="row">
                	<div class="col-lg-3 col-md-4 col-sm-4">  
                    	<div class="thumbnail"><a href="'.$url.'">
							<img class="img-responsive" src="'.$ligne['photo'].'" alt="'.$ligne['titre'].'" title="'.$aLoisirs[$ligne['id_type_loisirs']].' '.$ligne['titre'].'"></a>
						</div>
				 	</div>	
					<div class="col-lg-7 col-md-6 col-sm-6">
                    						<div class="tour_list_desc">
												<div id="score">'.$aLoisirs[$ligne['id_type_loisirs']].'</div>
												<h2>'.ucfirst(strtolower($ligne['titre'])).'</h2>
												<p class="hash_inversed"> <i class="fa fa-calendar"></i> '.$la_variable_qui_vas_bien.'</p>
												<p>'. stripslashes (cutTexte($ligne['description'], 220, '...')).'</p>
												<p class="hash"><i class="fa fa-map-marker"></i> '.mb_substr($ligne['city'],0,25).' ('.str_pad($ligne['id_departements'], 2, "0", STR_PAD_LEFT).')</p>
												<a href="'.$url.'"><input type="button" class="btn_1" value="EN DETAILS"></a>
Voici le code généré en local:
<a href="bourse-aux-jouets-matinee-boudin-424352"><input class="btn_1" value="EN DETAILS" type="button"></a>

et le code généré en ligne
<a href="-444883"><input class="btn_1" value="EN DETAILS" type="button"></a>

On constate qu'il manque en gros $ligne["url_rewrite"]

Ma grande question comment est ce possible.
Les base sont les mêmes car j'ai importer mon local en ligne, pour le coup pas de problème à ce niveau la.

Je remet le htaccess si ça aide.
#--------------------------------------------------
# Répertoire : /
#--------------------------------------------------

# Activation du module de réécriture d'URL 
RewriteBase /
Options +FollowSymLinks
Options -MultiViews
RewriteEngine On




RewriteRule ([a-zA-Z0-9\-]+)-([0-9]+) annonce_zoom.php?url=$1&id=$2


#--------------------------------------------------
# R�gles de réécriture d'URL :
#--------------------------------------------------

# Recherche
RewriteCond %{QUERY_STRING} ^q=
RewriteRule ^(index\.php)?$ recherche.php [L] 

RewriteRule ^toutes-les-sorties-en-region-([A-Za-z0-9_-]+)-du-departement-([0-9]{2}).html$ sortie.php?region=$1&departement=$2
RewriteRule ^toutes-les-sorties-en-region-([A-Za-z0-9_-]+).html$ sortie.php?region=$1
RewriteRule ^toutes-les-sorties.html sortie.php
#RewriteRule ^([A-Za-z0-9_-]+).html$ $1.php