[RESOLU] Faire une boucle à l'aide d'un GET

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] Faire une boucle à l'aide d'un GET

Re: Faire une boucle à l'aide d'un GET

par KlimPoliakov » 05 janv. 2015, 21:35

Oui j'ai fermé le navigateur et ça a marché ! :D :D :D :D :D :D Merci à vous deux

Re: Faire une boucle à l'aide d'un GET

par tof73 » 05 janv. 2015, 21:32

ferme ton navigateur et reteste (afin de remettre à la session à 0).

Re: Faire une boucle à l'aide d'un GET

par KlimPoliakov » 05 janv. 2015, 21:24

Quand je met ce code:
<?php
 session_start(); // Très important

?>



<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery UI Resizable - Default functionality</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
  <script src="http://monsite.fr/code/js/jquery.ui.touch-punch.min.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css">
  <style>

  </style>
  <script>
  
    $(function() {
    $( ".resize" ).resizable({
      aspectRatio: true
    });
  });
  
  $(function() {
    $('.drag').draggable();
  });


  </script>
</head>
<body>
 
 

<?php 
if(!empty($_GET['logo'])) $_SESSION['logo'][] = $_GET['logo'];
foreach($_SESSION['logo'] as $v) {
echo '<div class="drag"><img class="resize" src="http://monsite.fr/media/img/logo/'.$v.'.svg"/></div>'; 
}
?>

 
 
 
</body>
</html>
Cela me retourne: "Fatal error: [] operator not supported for strings in ... on line 46"

Re: Faire une boucle à l'aide d'un GET

par Elie » 05 janv. 2015, 21:14

Et ca te saute pas au yeux ?

Le principe de faire un array d'une variable et de rajouter [].
C'est comme si tu écrivait $_SESSION['nom'][0] ...
Tu peux meme faire $_SESSION['nom']['nom_de_la_cle']

Re: Faire une boucle à l'aide d'un GET

par KlimPoliakov » 05 janv. 2015, 21:09

Voilà mon code (j'ai pris la peine de remplacer le nom de mon vrai site pour pas faire de pub):
<?php
 session_start(); // Très important

?>



<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery UI Resizable - Default functionality</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
  <script src="http://monsite.fr/code/js/jquery.ui.touch-punch.min.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css">
  <style>

  </style>
  <script>
  
    $(function() {
    $( ".resize" ).resizable({
      aspectRatio: true
    });
  });
  
  $(function() {
    $('.drag').draggable();
  });


  </script>
</head>
<body>
 
 

<?php 
if(!empty($_GET['logo'])) $_SESSION['logo'] = $_GET['logo'];
foreach($_SESSION['logo'] as $v) {
echo '<div class="drag"><img class="resize" src="http://monsite.fr/media/img/logo/'.$v.'.svg"/></div>'; 
}
?>

 
 
 
</body>
</html>

Re: Faire une boucle à l'aide d'un GET

par Elie » 05 janv. 2015, 20:48

Dommage car chez moi ca marche :)

Re: Faire une boucle à l'aide d'un GET

par tof73 » 05 janv. 2015, 20:47

j'ai fait un copier/coller de ces 2 codes et cela fonctionne.

donne le code complet de page2.php pour vérifier que session_start(); est appelé au bon moment.

Re: Faire une boucle à l'aide d'un GET

par KlimPoliakov » 05 janv. 2015, 20:38

Non, il y a quelque chose qui coince, j'ai fait ce code sur la page1 :
<a href="page2.php?id=1"> <img src="http://monsite.fr/images/image1.jpg" /> </a>
<a href="page2.php?id=2"> <img src="http://monsite.fr/images/image2.jpg" /> </a>
<a href="page2.php?id=3"> <img src="http://monsite.fr/images/image3.jpg" /> </a>
...
<a href="page2.php?id=n"> <img src="http://monsite.fr/images/imagen.jpg" /> </a>
Et ensuite celui-là sur la page2 :
session_start();
if(!empty($_GET['id'])) $_SESSION['id'][] = $_GET['id'];
foreach($_SESSION['id'] as $v) {
 echo '<img src="http://monsite.fr/images/image'.$v.'.jpg" />';
}
Mais quand je clique sur l'un des liens de la page1, rien ne s'affiche sur la page2 :cry:

Re: Faire une boucle à l'aide d'un GET

par tof73 » 05 janv. 2015, 20:08

tu as essayé le code donné ?
car il fait ce que tu souhaites.

Re: Faire une boucle à l'aide d'un GET

par KlimPoliakov » 05 janv. 2015, 20:01

Merci Elie pour ta réponse, j'ai peut-être oublié d'ajouter un détail dans ma question. J'aimerais que les images ne s'ouvrent pas en même temps mais qu'elles s'ouvrent seulement si je clique dessus. Je m'explique, si je clique sur l'image1 sur la page1, alors l'image1 (et seulement l'image1) apparaît sur la page2, maintenant si je reviens sur la page1 et clique sur l'image3 par exemple alors sur la page2 sont affichées l'image1 et l'image3. Par contre si je n'aurais pas cliqué sur l'image3 (sur la page1), alors il n'y aurait que l'image1 sur la page2. Avec un tableau cela est-ce possible ?

Re: Faire une boucle à l'aide d'un GET

par Elie » 05 janv. 2015, 18:11

Tu stockes dans un array()...

Tu savais sauvegarder les images dans une session...
Bah fait en sorte que ta session soit un array()
session_start();
$_SESSION['image'][] = $_GET['id'];
foreach($_SESSION['image'] as $v) {
 echo '<img src="http://monsite.fr/images/image'.$v.'.jpg" />';
}

Faire une boucle à l'aide d'un GET

par KlimPoliakov » 05 janv. 2015, 16:40

Bonjour, j'aimerais faire une boucle à l'aide d'un GET. Mon site possède 2 pages : la page1 et la page2. Sur la page1 il y a plusieurs images, le code est le suivant:
<a href="page2.php?id=1"> <img src="http://monsite.fr/images/image1.jpg" /> </a>
<a href="page2.php?id=2"> <img src="http://monsite.fr/images/image2.jpg" /> </a>
<a href="page2.php?id=3"> <img src="http://monsite.fr/images/image3.jpg" /> </a>
...
<a href="page2.php?id=n"> <img src="http://monsite.fr/images/imagen.jpg" /> </a>
Je clique à présent sur l'image2 et j'atteris sur la page2 sur laquelle s'affiche l'image2 à l'aide de ce code:
echo '<img src="http://monsite.fr/images/image'.$_GET['id'].'.jpg" />';
Maintenant je retourne de nouveau sur la page1 et clique sur l'image3, et je suis redirigé vers la page2 où l'image3 est affichée.
Ma question: comment faire pour que sur la page2 les deux images sur lesquelles j'ai cliqué soient affichées ? Je suppose qu'il faut faire une boucle ?