> Tous les forums > Forum des Webmasters
 passage variables phpSujet résolu
Ajouter un message à la discussion
Pages : 1 [2] ... Fin
Page 2 sur 2 [Fin]
midnightblue
 Posté le 12/12/2009 à 13:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Pour que tes variables soient prises en compte, écrit le début de la manière suivante...

if(empty($_GET["$idph"])){ $_GET["idph"]="";}
if(empty($_GET["$id-liaison"])){ $_GET["id_liaison"]="";}

$idph = $_GET['idph'];
$id_liaison = $_GET['id_liaison'];

var_dump($idphp);
var_dump($id_liaison);

t671
 Posté le 12/12/2009 à 15:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

J'ai donc écrit ceci :

$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

if(empty($_GET["$idph"])){ $_GET["idph"]="";}
if(empty($_GET["$id-liaison"])){ $_GET["id_liaison"]="";}

$idph = $_GET['idph'];
$id_liaison = $_GET['id_liaison'];

var_dump($idphp);
var_dump($id_liaison);

$requete="SELECT alb_photos.id, alb_photos.titre_album, alb_photos.soustitre, photos.idph, photos.id_liaison, photos.lien, photos.commentaire
FROM alb_photos LEFT JOIN photos ON alb_photos.id=photos.id_liaison
WHERE idph > '$idph'";
$result = mysql_query($requete,$link) or exit ('Erreur : '.mysql_error() );
while($row = mysql_fetch_array($result))

Et le résultat : affichage des photos de l'album les unes sous les autres et : NULL string(0) ""

Malheureusement je ne sais pas si cela provient du var_dump de idph ou id_liaison ?

Malcolm
 Posté le 12/12/2009 à 17:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

if(empty($_GET["$idph"])){ $_GET["idph"]="";}
if(empty($_GET["$id-liaison"])){ $_GET["id_liaison"]="";}

ya pas de $ dans le $_GET

c'est $_GET['truc'] et non $_GET["$truc"]

Et puis faudrait sécuritser tes variables aussi ...

t671
 Posté le 12/12/2009 à 17:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Merci Malcom, mais avant de sécuriser les variables, j'aimerais pouvoir les afficher correctement !

Donc si j'écris :

if(empty($_GET["idph"])){ $_GET["idph"]="";}
if(empty($_GET["id-liaison"])){ $_GET["id_liaison"]="";}

$idph = $_GET['idph'];
$id_liaison = $_GET['id_liaison'];

var_dump($_GET['idph']);
var_dump($_GET['id_liaison']);

j'obtiens : string(9) "".$idph."" string(0) ""

avec affichage de toutes les photos les unes sous les autres (string(9) = 9 photos). Si encore elles étaient de la même famille (id_liaison identique), ça pourrait aller, mais ce n'est pas le cas ..... pffffffffff

kankrelune
 Posté le 12/12/2009 à 17:42 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

Salut... pas mal d'erreurs (sécurité, requête mal construite, pas de gestion d'erreur, html mal formé...)

Voila le code légèrment nettoyé... en imaginant que les champs que tu recherchent sont des int...

<?php

$idph = 0;
$id_liaison = 0;

if(isset($_GET['idph'])) {
$idph = (int)$_GET['idph'];
}
if(isset($_GET['id_liaison'])) {
$id_liaison = (int)$_GET['id_liaison'];
}

if(empty($idph) || empty($id_liaison)) {
// gestion erreur car idph et/ou id_liaison est/sont vide
}
else {
$sql = 'SELECT alb_photos.id, alb_photos.titre_album, alb_photos.soustitre, photos.idph, photos.id_liaison, photos.lien, photos.commentaire '.
'FROM alb_photos LEFT JOIN photos ON alb_photos.id=photos.id_liaison '.
'WHERE idph > '.$idph.' AND id_liaison='.$id_liaison;
if(($result = mysql_query($sql,$link)) === false) {
// gestion erreur de ta requête
}
else if(mysql_num_rows($result) < 1) {
// gestion aucun résultat
}
else {
while(false !== ($row = mysql_fetch_array($result))) {
echo '<div style="text-align:center;">
<a href="photo_prec.php?idph='.$row['idph']. '">
<img src="../../images/back.gif" style="border:none;width:27px;height:30px;" alt="Précédente" title="Précédente" />
</a>
<a href = "aff_alb_photos.php">
<img src="../../images/retour.gif" style="border:none;width:28px;height:30px;" alt="Retour" title="Retour" />
</a>
<a href ="photo_suiv.php?idph='.$row['idph'].'&id_liaison='.$row['id_liaison'].'">
<img src="../../images/next.gif" style="border:none;width:27px;height:30px;" alt="Suivante" alt="Suivante" />
</a>
</div>
<div style="font-weight:bold;text-decoration:underline;">'. $row['titre_album'] .'</div>
<div style="font-style:italic;">'. $row['soustitre'] .'</div>
<div style="text-align:center;">
<img src="' . $row['lien'] . '" style="border:none;height:350px;" />
<br />
'. $row['commentaire'] .'
</div>';
}
}
}

?>

Pense à bien indenter ton code (espaces retour à la ligne etc) tu trouvera plus vite tes erreurs... normalise ta façon de coder (toujours utiliset les simples quotes pour tes chaines, sauf cas particulier et tu concatène tes variables, balises html en minuscule, etc)

@ tchaOo°

edit: j'ai rien dit pour l'indentation si ça vient du forum :)



Modifié par kankrelune le 12/12/2009 17:48
t671
 Posté le 12/12/2009 à 18:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Merci kankrelune,

Je ne comprends pas tout dans ton script .....

Pourquoi initialises-tu idph et id_liaison à zéro en début de script ?

Pourquoi ne réceptionnes-tu pas les variables ($idph = $_GET['idph']; et $id_liaison = $_GET['id_liaison'];) ?

Je suppose que c'est le script d'affichage de la photo suivante ... ?

Et je n'obtient que des pages blanches, sans message d'erreur.

Je comprend plus rien, et je mélange tout ..........

J'ai l'impression que ma variable id_liaison n'est pas lisible. Je l'avais déclaré en "varchar" dans mysql, je l'ai mis en "int", et c'est pareil .... ?

Peut-être devrais-je essayer en créant une seule table ? Sinon abandonner .......



Modifié par t671 le 12/12/2009 18:27
t671
 Posté le 13/12/2009 à 11:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour tout le monde,

C'est encore moi ..... J'ai trouvé .....

Le passage de deux variables d'un script à l'autre, c'était :

<a href ="photo_suiv.php?idph='. $row['idph'] .' & idliaison='. $row['idliaison'] .'">

et là, ça fonctionne ..... .

Merci pour l'aide ......

A ++



Modifié par t671 le 13/12/2009 11:54
Pages : 1 [2] ... Fin
Page 2 sur 2 [Fin]

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
Ecran PC 27 pouces KTC H27V13 (VA, Full HD, 100 Hz) à 99,99 €
99,99 € 149 € -33%
@Geekbuying
Switch Gigabit TP-Link LS105G 5 ports à 12,99 €
12,99 € 17,99 € -28%
@Amazon
PC Portable 16.1 pouces HP Victus (FHD 144 Hz,Core i5 13500H, 16Go/512Go, RTX 4060 8 Go, sans OS) à 885,99 €
885,99 € 1299 € -32%
@Cdiscount
SSD WD Black SN770 2 To (PCIe Gen4, NMVe M.2, 5150 Mo/s) à 110,80 €
110,80 € 150 € -26%
@Amazon Allemagne
Carte TP-Link Archer AXE5400 PCIe WIFI 6E + Bluetooth 5.3 avec dissipateur à 35,99 €
35,99 € 75 € -52%
@Amazon
Casque sans fil à réduction de bruit Sony WH-1000XM4 (Hi-Res Audio, Bluetooth/NFC) à 189 €
189 € 270 € -30%
@Amazon Belgique

Sujets relatifs
flash/phph passage de variables
Passage de variables
Passage de variable et affichage
passage d'une URL à une autre
Passage de tableau lors d'un changement de page.
recuperation formulaire dans les variables php
Problème de gestion de variables de session
Problème de gestion de variables de session
Passage en session php
passage variable avec header
Plus de sujets relatifs à passage variables php
 > Tous les forums > Forum Forum des Webmasters