IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

Gestion des URL


Sujet :

Bibliothèques & Frameworks

  1. #1
    Nouveau membre du Club
    Profil pro
    Consultant E-Business
    Inscrit en
    Mai 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Mai 2007
    Messages : 39
    Points : 29
    Points
    29
    Par défaut Gestion des URL
    Bonjour à tous !
    J'ai récemment créé mon site internet et je développe une galerie de photos.
    Pour cela j'utilise prototype, dernière version, téléchargé sur le site officiel. Lorsque je consulte la galerie avec "http://www" en début d'adresse, cela ne marche pas : le onException est systématiquement lancé. Par contre, avec seulement "http://" cela fonctionne. Voilà le site en question : http://quentin-caron.com/galeries.php.

    Code pour une photo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "<img src='"+tblURL[tblURL.length-1]+"' alt='photo 1' class='miniature' id='miniature_gauche' onClick=\"lancerRequete(document.getElementById('miniature_gauche').src, '"+nomGalerie+"', 'gauche')\"/>"+
    Code de la fonction js appelée sur click de la photo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    function lancerRequete(url, ng, click)
    {
     
    	// on cherche la galerie en question...
    	var urlPage = window.location.toString();
    	var isWWW = "www";
    	if(urlPage.substring(7,3) != "www")
    		isWWW = "http";
     
    	var req = new Ajax.Request(
    		"http://quentin-caron.com/envoieURL.php",
    		{
    			method: "get",
    			parameters: {urlPh: url, ng: ng, click: click, isWWW: isWWW},
    			onSuccess: function(transport) { chercherURL(transport.responseXML, click);},
    			onFailure: function() { alert("Requête échouée"); },
    			onCreate: function() { document.getElementById("info_chargement").className="info_chargement_visible";},
    			onComplete: function() { document.getElementById("info_chargement").className="info_chargement_hidden"; },
    			onException: function() {alert('Un problème est survenu...');}
    		}
    	);
    }
    Fonction qui va chercher l'URL dans la réponse du serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function chercherURL(doc, click)
    {
    	var tagurl = doc.getElementsByTagName('url');
    	if (click == "gauche")
    		decalageVersDroite(tagurl[0].firstChild.nodeValue);
    	else
    		decalageVersGauche(tagurl[0].firstChild.nodeValue);
    }
    Fonction pour le décalage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function decalageVersGauche(urlPhoto)
    {		
    	document.getElementById('miniature_gauche').src = document.getElementById('miniature_actuelle').src;
    	document.getElementById('miniature_actuelle').src = document.getElementById('miniature_droite').src;
    	document.getElementById('miniature_droite').src = urlPhoto;
    	document.getElementById("photo_actuelle").src = document.getElementById('miniature_actuelle').src;
    }
    Fichier php qui donne l'adresse de la prochaine photo à afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <?php
    	require_once('cnx.php');
    	require_once('Photo.php');
    	header('Content-Type: text/xml;charset=utf-8');
    	echo(utf8_encode("<?xml version='1.0' encoding='UTF-8' ?><photo>"));
     
    	if ( isset($_GET['urlPh']) && isset($_GET['ng']) && isset($_GET['click']) && isset($_GET['isWWW']))	// on récupère l'url de la photo suivante ou précédente
    	{
    		$tblURL = array();
    		$req = Connexion::requete("SELECT * FROM `Photo` WHERE `galeriePhoto` = '".$_GET['ng']."'");
    		//echo "<test>".$_GET['urlPh']."</test>";
    		if ($req !== false && mysql_num_rows($req) !== 0)
    		{
    			while($photos = mysql_fetch_assoc($req))
    			{
    				if ($_GET['isWWW'] == "www")
    					$tblURL[] = "http://www.quentin-caron.com/".$photos["urlPhoto"];
    				else
    					$tblURL[] = "http://quentin-caron.com/".$photos["urlPhoto"];
    				//echo "<test>".$tblURL[count($tblURL)-1]."</test>";
    			}
    		}
    		$url = utf8_decode($_GET['urlPh']);
    		$i;
    		for($i = 0; $i < count($tblURL)-1; $i++)
    		{
    			if ($tblURL[$i] == $url)
    			{
    				break;
    			}
    		}
    		if ($_GET['click'] == "droite")
    		{
    			if ($i != count($tblURL)-1)		//i ne vaut pas le dernier index du tableau
    				$urlPh = $tblURL[$i+1];
    			else
    				$urlPh = $tblURL[0];
    		}
    		else
    		{
    			if ($i > 0)					// si on peut reculer dans le tableau sans avoir d'index negatif
    				$urlPh = $tblURL[$i-1];
    			else										// sinon on prend le dernier element du tableau
    				$urlPh = $tblURL[count($tblURL)-1];
    		}
    	}
    	else
    	    $urlPh = "";
     
    	function generateOptions($url) {
    	    echo(utf8_encode("<url>".$url."</url>"));
    	}
     
    generateOptions($urlPh);
     
    echo("</photo>");
    ?>
    Vous pouvez tester ce que donne le xml avec ici : http://quentin-caron.com/envoieURL.p...oite&isWWW=www

    Comme vous pouvez le voir, j'essaye de faire quelque chose pour régler le problème du "www" dans l'adresse mais en vain. Je fais ça car même avec un chemin relatif ça ne marche pas. Est-ce qu'il ne s'agirait d'un problème de passage de paramètre ?

  2. #2
    Nouveau membre du Club
    Profil pro
    Consultant E-Business
    Inscrit en
    Mai 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Mai 2007
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    En fait l'url pour la requête AJAX commençait par "http". En navigant avec une url commençant par "http://www" cela ne marchait pas. J'ai donc mis "http://www" pour la requête et fait une redirection en "www" dans mon .htacces.

Discussions similaires

  1. Gestion des URL par défaut des WebServices
    Par helios77 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 13/05/2013, 13h39
  2. Gestion des urls de son site
    Par themostmd dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 18/07/2011, 13h10
  3. [Smarty] Gestion des url: Lien non trouvé
    Par psgman113 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/04/2011, 17h28
  4. Gestion des URL en HMVC
    Par FMaz dans le forum Design Patterns
    Réponses: 0
    Dernier message: 01/09/2010, 05h38
  5. [Gestion des urls] Mauvais controller
    Par Spiff__ dans le forum Zend Framework
    Réponses: 7
    Dernier message: 03/10/2008, 00h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo