PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 19-03-2017 18:42:03

quattro
Membre
Inscription : 05-03-2017
Messages : 2

Pb variable

Bonjour
Voici mon code :

<?php

// Transforme & Test le "POST"
if (empty($_POST['ville_nom'])) {
        echo 'Veuillez taper un nom de ville';  
    }
else {  
$villeNom = $_POST['ville_nom'];
// Connection Bdd
require('inc_connexion.php');

// Recherche ville
$result = $mysqli -> query('SELECT * FROM city WHERE city_name LIKE ("'.$villeNom.'")');
    $row = $result -> fetch_array();
        $cityID = $row['city_id'];
        $saveName = $row['city_name'];
        $saveDetail = $row['city_detail'];

// Enregistrement dans table "save"
$mysqli -> query('INSERT INTO save (save_name,save_detail,city_id) VALUES ("'.$saveName.'","'.$saveDetail.'","'.$cityID.'")');

//récupere le dernier ID enregistrer
$oldInsert = $mysqli->insert_id;

// Enregistrement dans tanle "liaison"
$mysqli -> query('INSERT INTO liaison (save_id) VALUES ("'.$oldInsert.'")');

// Jointure de "save & liaison"
$mysqli -> query('SELECT save.save_id from save INNER JOIN liaison where save.save_id = liaison.liaison_id');

//libère les resultats et ferme
$result -> free();
$mysqli -> close();
}
?>
</div>

<div id="cadre2">
   <p><?php echo $cityID.' - '.$saveName ?><a href="index.php"> Détails :<?php $saveDetail ?></a></p>
</div>

Quand je click sur le lien il ne me reconnait pas les variables : $cityID  et  $saveDetail , je ne comprend pas ?


Hors ligne

#2 20-03-2017 16:28:23

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Pb variable

Saluton,
Ton code est tout de même très “approximatif”, je note, entre autres choses, que tu ne testes pas si tes requêtes SELECT retourne vraiment un résultat avant d'en affecter le contenu à des variables.
Pourquoi SELECT * puisque tu sais que tu ne veux récupérer que trois colonnes : city.id, city_name et city_detail ?
Enfin ta description du dysfonctionnement est on ne peut plus absconse pour nous autres : “quand je clique sur le lien” … Quel lien ?
Enfin, l'éventuel résultat de la dernière requête de jointure de "save & liaison" n'est pas exploité.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 29-03-2017 12:58:00

ViKKKing
Membre
Inscription : 29-03-2017
Messages : 10

Re : Pb variable

Salut,

il n'y a ni formulaire pour passer les variables en POST, ni variables passées dans l'URL en GET...
donc, $villeNom = $_POST['ville_nom']; renverra... dans les méandres du web smile

Si le lien est <?php echo $cityID.' - '.$saveName ?><a href="index.php"> Détails :<?php $saveDetail ?></a>, là encore, aucune variable envoyée...
<?php echo $cityID.' - '.$saveName ?><a href="index.php?id=<?php echo"$cityID"; ?>"> Détails :<?php $saveDetail ?></a> et ensuite, on récupère $idCity = $_GET['id'];

SELECT * FROM city WHERE city_id=$idCity /* exemple */

mais POST est nettement préférable à GET (IMHO) et ensuite, il faut vérifier les vars qui sont passées *avant* de les utiliser pour des requêtes ! sinon, danger...


- Technical skill is mastery of complexity, while creativity is mastery of simplicity.
- Au fil des ans, je ne vieillis pas, je deviens vintage !

Hors ligne

Pied de page des forums