[RESOLU] Url Rewriting

Mammouth du PHP | 643 Messages

05 nov. 2015, 00:20

Salut à tous.
Voilà que je me met à l'url rewriting et j'avoue avoir du mal.

Le but étant comme vous en doutez donner une belle gueule à mes urls et arretez avec les id=1254.php
Donc voilà ou j'en suis

htaccess
#--------------------------------------------------
# Répertoire : /
#--------------------------------------------------

SetEnv SESSION_USE_TRANS_SID 0

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


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


Et coté code:
<?php
		//Selection de l'annonce
		$sql = ("SELECT * FROM loisirs WHERE id_loisirs = ".$_GET['id']." AND valide = 1");   
 		$req = $bdd->query($sql);    
		$row = $req->fetch() ;     
		$req->closeCursor(); 
		
		
		// Rewrite url
		$url = "votre_annonce/".$row["url"]."-".$row["id_loisirs"];
		echo "<li><a href=\"$url\">".$row["titre"]."</a></li>";
Donc l'url que l'on trouve dans mon li est bien celle qui doit correspondre mais la problème.
Tout était ok avant de me lancer dans l'url rewriting
J'ai ces message sur ma page:

Undefined variable: ligne in C:\wamp\www\lasortie\annonce_zoom.php on line 33
la ligne correspond à:
// Traitement image        
		$image = !empty($ligne['photo']) && file_exists('img/annonce/'.$ligne['photo']) ? 'img/annonce/'.$ligne['photo'] : 'img/remplacement/'.simplification($aLoisirs[$ligne['id_type_loisirs']]).'.jpg';

undefined index: in C:\wamp\www\lasortie\annonce_zoom.php on line 47
la ligne correspond à:
<meta name="description" content="Votre <?php echo $aLoisirs[$row['id_type_loisirs']] ;?> - <?php echo $row['titre'];?> à <?php echo $row['city'];?> en <?php echo $aRegion[$row['id_region']];?> - <?php echo $depts[$row['id_departements']] ;?>
        <?php echo ". A partir du " .$datedeb-> format('d'); ?> <?php echo ucfirst($mois[$datedeb->format('n')]);?>">

Mammouth du PHP | 2703 Messages

05 nov. 2015, 00:39

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

Mammouth du PHP | 643 Messages

05 nov. 2015, 00:42

Nans mais lol,
Merci à toi comme d'hab ;)
Heu j'ai juste fait un copié collé de ton truc.... Mais je ne vois meme pas ce que tu as changé ?

Mammouth du PHP | 643 Messages

05 nov. 2015, 00:43

Ah si ca y'est :)
([0-9+])
Comme quoi pour rien, on perd beaucoup de temps et de patience.
Merci encore

Mammouth du PHP | 643 Messages

05 nov. 2015, 01:04

Re.
Excusé moi mais je viens de voir qua ma redirection ne marché pas Si vous voyez pourquoi, merci encore
<?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:/votre_annonce/".$row["url_rewrite"]."-".$row["id_loisirs"]);
		
		}

Mammouth du PHP | 2703 Messages

05 nov. 2015, 01:23

if($row["url_rewrite"]!=$row["url_rewrite"]) {
une autre manière plus lisible :
if(1 != 1){
echo "oui, 1 est bien différent de 1";
}