Comment récupérer des données dans un tableau

SlhDanslaradio - Modifié par jordane45 le 24/11/2014 à 20:14
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 - 25 nov. 2014 à 15:49
Bonjour, je voudrai savoir, s'il vous plaît, comment faire pour recevoir des données (ici, pour des dédicaces) dans un tableau en php tel que:
[url=http://www.hostingpics.net/viewer.php?id=597545dedi.png][img]http://img11.hostingpics.net/thumbs/mini_597545dedi.png/img/url

Si besoin, voici les formulaires pour l'envoi:
Formulaire:
<form method="post" action="envoi_dedi.php">
<p>
<b>Pseudo :</b><input type="text" name="pseudo" /><br/>
<b>Message :</b><textarea name="message"></textarea><br/>
<input type="submit" name="envoi_dedi" value="Envoyer" />
</p>
</form>


Page envoi_dedi.php
<?php

//on se connecte a notre base de donne
mysql_connect('serveur', 'utilisateur', 'motdepasse');
mysql_select_db('basededonnee');

if(isset($_POST['envoi_dedi'])){

//on met le tout dans des variable
$pseudo = mysql_real_escape_string(strip_tags($_POST['pseudo']));
$message = mysql_real_escape_string(strip_tags($_POST['message']));
$ip = $_SERVER['REMOTE_ADDR']; // ip du visiteur

$nombre_limiter_pseudo_mini = '3'; //nombre minimum de caractere pour le pseudo
$nombre_limiter_pseudo_maxi = '20'; //nombre maximum de caractere pour le pseudo

$nombre_limiter_message_mini = '1'; //nombre minimum de caractere pour le message
$nombre_limiter_message_maxi = '500'; //nombre maximum de caractere pour le message

if(isset($pseudo)){ //verification si le pseudo a bien était rempli

if(isset($message)){ //verification si le message a bien était rempli

if(strlen($pseudo) > $nombre_limiter_pseudo_mini){ //verification si le pseudo est pas court

if(strlen($pseudo) < $nombre_limiter_pseudo_maxi){ //verification si le pseudo est pas long

if(strlen($message) > $nombre_limiter_message_mini){ //verification si le message est pas court

if(strlen($message) < $nombre_limiter_message_maxi){ //verification si le message est pas long

////////////////////Tout est bon on enregistre dans la base de donné////////////////////////
mysql_query("INSERT INTO dedicace(pseudo, message, ip) VALUES('".$pseudo."', '".$message."', '".$ip."')")or die(mysql_error());
echo 'Votre dédicasse a bien était envoyé :)';

}else{ //le message est trop long on affiche l'erreur
echo 'Votre message est trop long';
}

}else{ //le message est trop court on affiche l'erreur
echo 'Votre message est trop court';
}

}else{ //le pseudo est trop long on affiche l'erreur
echo 'Votre pseudo est trop long';
}

}else{ //le message est trop court on affiche l'erreur
echo 'Votre pseudo est trop court';
}

}else{ //le message n'a pas était rempli on affiche une erreur et on arrete le script
echo 'Veuillez remplir votre message';
}

}else{ //le pseudo n'a pas était rempli on affiche une erreur et on arrete le script
echo 'Veuillez remplir votre pseudo';
}
}
?>

2 réponses

jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 344
24 nov. 2014 à 20:18
Bonjour,

Je ne comprend pas....
Tu nous donnes un code ( assez bien écrit).. mais tu es incapable de faire un TABLEAU HTML ???

Sachant que le code de la page : envoi_dedi.php .. sert à INSERER des données dans la Base de données....
Toi il semble que tu veuilles aller LIRE les données qui s'y trouvent.. pour les afficher sur une page ... (non ??).
Dans ce cas.. il te faut faire une REQUETE de type SELECT ...
Puis traiter le résultat dans une boucle pour créer ton tableau html....

Rien de plus simple... et puis il existe des nombreux (très très très nombreux ) exemples ici (sur ce site) ainsi que sur le net.... il suffit de chercher 30 secondes !


pour rappel:

Merci de garder à l'esprit que CodeS-SourceS est une communauté d'entraide dans
laquelle toutes les réponses sur le forum sont assurées par des bénévoles
qui donnent de leur temps libre pour aider à résoudre les problèmes.

A noter également que nous ne faisons pas dans le "tout cuit"
et ne sommes pas là pour remplacer votre moteur de recherches...
... Soit tu trouves ton bonheur dans la partie source du site, soit à l'aide de ton moteur de recherche favori.

Ici, nous aidons volontiers sur des sujets techniques précis.

Je t'invite à lire avec attention le contenu du lien suivant :
charte-de-commentcamarche-net : conseils-d-ecriture

Ainsi que celui concernant l'utilisation de la coloration syntaxique :
Utilisation des Balises de code

Merci donc de reformuler ta demande en respectant ces quelques points.

Quelques points essentiels à retenir :
- On ne pose qu' UNE question par discussion
- Le titre de la question doit refléter le souci rencontré ( Help.. SOS.. Urgent.. n'apporte aucune information utile !)
- Lorsque votre question est résolue.. merci de clore le sujet (lien Marquer comme résolu se trouvant sous le titre de votre question).
- Une question obtiendra de meilleurs réponses si elle est correctement rédigée, que les explications sont clairs et qu'éventuellement vous postez le code qui pose problème.
- Si vous avez un message d'erreur..... MARQUEZ LE (dans son intégralité).

Merci.



0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 4
Modifié par mpmp93 le 25/11/2014 à 15:51
Bonjour,

1° - désolé si je suis brutal - mais l'imbrication de vos "if", c'est très très lourd et ingérable....

2° un exemple, pour faire nettement plus simple, vous faites ceci:

if(isset($pseudo)){ //verification si le pseudo a bien était rempli
 ......
if(isset($message))


Vos variables $pseudo et $message sont définies dans les lignes qui précèdent, donc, ces tests sont inutiles.

Pour tester si un contenu a été saisi, il faut plutôt utiliser empty():

$errors = array();
if (empty($pseudo)) { 
    //verification si le pseudo a bien était rempli
    $errors[] = "pseudo non saisi";
}
if (empty($message)) {
    $errors[] = "message non saisi";
}
//.......vous enchaînez tous les tests de cette manière


A ce niveau, vous avez une succession de if() non imbriqués. C'est déja plus clair...

Vous remarquerez que j'ai instancié un tableau $errors, donc, on va l'utiliser comme ceci:

if (empty($errors)) {
    // .....ici code enregistrement dédicace
} else {
    foreach ($errors AS $erreur) {
        echo "<p>$erreur</p>";
    }
}


Cordialement
0
Rejoignez-nous