Formulaire & Tableaux !

Par Remy_Bernard, il y a 11 ans


Bonjour,

Voila c'est que j'ai actuellment et qui fonctionnes :

<form method="post" action="traitement.php">
<p class="titre">Coordonnées</p>
<fieldset id="coordonnees">
<label>Nom de la boîte :</label>
<input type="text" name="nom" size="20" /><br />
<label>Description : </label>
<input type="text" name="description" size="50" /><br />
<label>GPS :</label>
<input type="text" name="gps" size="50" /><br />
<label>Ville : </label>
<input type="text" name="ville" size="20" /><br />
</fieldset>
<p class="titre">Indice(s) pour trouver la boîtes</p>
<fieldset id="message">
<textarea name="message" rows="6" cols="55"></textarea>
</fieldset>
<p id="buttons">
<input type="submit" value="Ajouter" />
<input type="reset" value="Recommencer" />
</p>
</form>

</html>

<a href="edit_infos.php">Modifier mes informations personnelles</a><br />
<a href="connexion.php">Se déconnecter</a>

<div class="foot"><a href="<?php echo $url_home; ?>">Retour à l'accueil</a>

</div>

</body>
</html>

Le code du traitement.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" />
<title>Ajout boîte</title>
</head>
<body>
<div class="header">
</div>
<div class="content">

<?php
// Parametres mysql à remplacer par les vôtres
define('DB_SERVER', 'localhost'); // serveur mysql
define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur
define('DB_SERVER_PASSWORD', ''); // mot de passe
define('DB_DATABASE', 'bdd2'); // nom de la base
// Connexion au serveur mysql
connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD) or die('Impossible de se connecter : ' . mysql_error()); // sélection de la base de données mysql_select_db(DB_DATABASE, $connect); $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis: <br/><br/>"; $msg_ok = "Votre demande a bien été prise en compte."; $message = $msg_erreur; // vérification des champs if (empty(_POST['nom']))
message .= "Nom de votre boite<br/>"; if (empty(_POST['description']))
message .= "Description <br/>"; if (empty(_POST['gps']))
message .= "Votre code postal<br/>"; if (empty(_POST['ville']))
message .= "Votre ville<br/>"; if (empty(_POST['message']))
$message .= "Votre message<br/>";

// si un champ est vide, on affiche le message d'erreur
if (strlen(message) > strlen(msg_erreur)) {

echo $message;

// sinon c'est ok
} else {

foreach($_POST as $index => $valeur) {

$index = mysql_real_escape_string(trim(valeur));
}
sql = "INSERT INTO formulaire VALUES ('', '".nom."',
'".description."', '".gps."', '".ville."', '".message."', now())";
res = mysql_query(sql);

if (res) { echo $msg_ok; } else { echo mysql_error(); } } ?> <br> </br> <a href="index.php">Acceuil</a><br /> ``` Le code de la page tableau: list.php ``` <?php include('config.php') ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link href="<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" /> <title>Geo-Globe</title> </head> <body> <div class="header"> </div> <div class="content"> <?php //On affiche un message de bienvenue, si lutilisateur est connecte, on affiche son pseudo ?> Bonjour<?php if(isset(_SESSION['username'])){echo ' '.htmlentities(_SESSION['username'], ENT_QUOTES, 'UTF-8');} ?>,<br /> Bienvenue sur le site geoglobe. Voici la liste des boîtes ajouter pour les utilisateurs<br /> </head> <body> <?php //Connection avec la BDD. mysql_connect("localhost", "root", ""); mysql_select_db("bdd2"); $reponce = mysql_query("SELECT * FROM `formulaire`"); ?> <br> </br> <table> <tr> <th>id </th> <th>Nom </th> <th>Description </th> <th>Ville </th> <th>Date </th> </tr> <?php //On affiche les lignes du tableau une à une à l'aide d'une boucle while(donnees = mysql_fetch_array(reponce)) { ?> <tr> <th><?php echo $donnees['id'];?></th> <th><?php echo $donnees['nom'];?></th> <th><?php echo $donnees['description'];?></th> <th><?php echo $donnees['ville'];?></th> <th><?php echo $donnees['date'];?></th> </tr> <?php } //fin de la boucle, le tableau contient toute la BDD mysql_close(); //deconnection de mysql ?> <table <?php while(donnees = mysql_fetch_array($reponce))
{
?>
<tr>
<th><?php echo $donnees['id'];?></th>
<th><?php echo $donnees['nom'];?></th>
<th><?php echo $donnees['description'];?></th>
<th><?php echo $donnees['gps'];?></th>
<th><?php echo $donnees['ville'];?></th>
<th><?php echo $donnees['message'];?></th>
<th><?php echo $donnees['date'];?></th>
</tr>
<?php
} //fin de la boucle, le tableau contient toute la BDD
@mysql_close(); //deconnection de mysql
?>
<table>
<br> </br>
<a href="sign_up.php">Inscription</a><br />
<a href="connexion.php">Se connecter</a>

<br> </br>
<a href="index.php">Acceuil</a><br />
</div>
</body>
</html>
```

Et voila ce que j'aimerais faire :


Un tableau avec des liens vers l'url de la boites:

Mes questions:

Comment faire un tableau avec des liens ?
Comment faire pour que chaque fois qu'un utilisateur ajoute une boîtes cella crée une page de type exemple.com/boites/515648794151358744 de façon aléatoire ?

Merci d'avance a bientôt

1 réponse

Keller, il y a 11 ans

Bonsoir,
pour avoir une page du type : "exemple.com/boites/515648794151358744"
ce que vous pouvez faire est créer un champ dans la table contenant cette valeur aléatoire & unique.
Ensuite sur la page d'affichage il suffit de récupérer cette valeur dans l'URL et de la mettre dans la requête pour chercher la fiche complète.