Voilà, j'ai une question bizarre lol :
je sais qu'on peut ajouter une variable GET dans un formulaire POST.
Mais moi ce que j'aimerais faire en PHP, c'est une carte cliquable.
Je l'ai faite : elle fonctionne.
Chaque case de ma carte envoie vers la même page.
pas obligatoire mais pour info, si ça aide, le code initial de ma carte :
Code : Tout sélectionner
<table cellspacing="0" cellpadding="0" border="0">
<?
// on crée la requête SQL
$sql = "SELECT carte FROM module_bataille where atreides='".$_SESSION['login']."' OR harkonnen='".$_SESSION['login']."' ";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
{
$carte=$data['carte'];
}
// Récupération ordonnée (d'abord suivant la ligne, puis suivant la colonne) des cases de la carte
$resource = mysql_query("SELECT x, y, image FROM carte where carte='$carte' ORDER BY y, x");
$current_y = -1;
while($record = mysql_fetch_array($resource))
{
// Si la ligne courante n'est pas la même que celle de l'enregistrement, on affiche la fin de la ligne et on en commence une autre
if($current_y != $record["y"])
{
// Si cas particulier du premier passage, on n'affiche pas la fin de la ligne (puisqu'il n'y en a pas encore d'ouverte)
if($current_y != -1)
{
?>
</tr>
<?
} // Fin de if($current_y != -1)
?>
<tr>
<?
// Une fois le changement de ligne fait, on met à jour la ligne courante
$current_y = $record["y"];
} // fin de if($current_y != $record["y"])
// Affichage de l'image
// on crée la requête SQL
?>
<td>
<?
// on regarde si la case est occupée par un perso
$sql = "SELECT per_nom FROM carte_perso where per_x= '".$record["x"]."'and per_y= '".$record["y"]."'and bataille='$bataille'";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on compte le nombre de résultats
$res = mysql_num_rows($req);
if($res!=0) //Il en trouve un au moins
{ // on crée la requête SQL
$sql = "SELECT per_nom,per_x, per_y,per_image, per_nom, nbsoldats FROM carte_perso where per_x= '".$record["x"]."'and per_y= '".$record["y"]."'and bataille='$bataille'";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
{
?>
<a href="test2.php?x=<?=$record["x"]?>&y=<?=$record["y"]?>" title="(Coordonnées : <?=$data["per_x"]?> <?=$data["per_y"]?>, <?=$data["per_image"]?> <?=$data["per_nom"]?>, <?=$data["nbsoldats"]?> soldats )" >
<img src="style/images/<?=$data['per_image']?>.png" width="40" height="40" alt="(Coordonnées : <?=$data["per_x"]?>, <?=$data["per_y"]?>, <?echo "\n"?> <?=$data["per_image"]?> <?=$data["per_nom"]?>, <?echo "\n"?> <?=$data["nbsoldats"]?> soldats )" style="display: block;" /></a>
<?
}
}
else // aucun perso sur cette case
{
?>
<a href="test2.php?x=<?=$record["x"]?>&y=<?=$record["y"]?>" title="(Coordonnées : <?=$record["x"]?>, <?=$record["y"]?>, terrain : <?=$record["image"]?> )" >
<img src="style/images/<?=$record["image"]?>.png" width="40" height="40" alt="(Coordonnées : <?=$record["x"]?>, <?=$record["y"]?>,<?echo "\n"?> type de terrain : <?=$record["image"]?> )" style="display: block;" /></a>
<?
}
?></td>
<?
} // Fin de while($record = mysql_fetch_array($resource))
?>
</tr>
</table> Soit en fait, que le lien sur la carte envoie vers une autre page non seulement les coordonnées x et y en GET, mais aussi le nom en POST.
J'ai tenté ça :
Code : Tout sélectionner
<form method="post">
Nom du camp : <input type="text" name="nomcamp" /><br/><br/>
( insertion ici du code de la carte ci-dessus )
</form>Savez-vous s'il existe une solution à mon problème ?
Solution en PHP évidemment...
Après si quelqu'un sait comment tout envoyer en GET, ça ne me dérange pas.
Merci d'avance...