Formulaire + base de donne + réaffichage

Petit nouveau ! | 9 Messages

05 mai 2007, 19:14

Bonjour , j'ai créer un formulaire une fois valider les info vont dans la base de donnée et apres je fait un réaffichage de c'est donné sur une autre page

quand je valide les table sacremente mais de vide


http://usblackbulldogs.free.fr/inscript ... ption.html

le formulaire en html

Code : Tout sélectionner

<html> <head> <title>Formulaire carnet d'adresse</title> </head> <body> <form action="valide.php" method="post"> Prénom : <input type="text" name="nom" value="" size="40"><br> tag : <input type="text" name="tag" value="" size="40"><br> leader : <input type="text" name="leader" value="" size="40"><br> email : <input type="text" name="email" value="" size="40"><br> <input type="submit" value="Enregistrer dans la base"> </form> </body> </html>
le fichier php qui renvoi à la base de donnée

Code : Tout sélectionner

<?php //Je me connecte à la base de donnée grâce à ce code $serveur = "sql.free.fr"; // Serveur mySQL $base = "xxxxx"; // Base de donnees mySQL $user = "xxxxx"; // Login de connection à mySQL $motdepasse = "xxxxx"; // Mot de passe pour mySQL @mysql_connect($serveur, $user, $motdepasse) or die("Erreur de connection."); @mysql_select_db($base); //J'enregistre les données provenant du formulaire mysql_query("INSERT INTO inscrit VALUES('','$nom','$tag', '$leader', '$email')"); //ceci referme la connexion à la base mysql_close(); ?> merci d'avoir rempli le formulaire vous pouvez regarder votre fiche a été ajouter <a href="clan.php">Liste des clan</a>
la page de réaffichage

Code : Tout sélectionner

<?php //Je me connecte à la base de donnée grâce à ce code $serveur = "sql.free.fr"; // Serveur mySQL $base = "xxxx"; // Base de donnees mySQL $user = "xxxx"; // Login de connection à mySQL $motdepasse = "xxxx"; // Mot de passe pour mySQL @mysql_connect($serveur, $user, $motdepasse) or die("Erreur de connection."); @mysql_select_db($base); $nouvellerequete = mysql_query("SELECT id, nom, tag, leader, email from inscrit ") or die ("Erreur sql ".mysql_error()); //On sélectionne dans carnet tous champs dans l'ordre décroissant //Permettant après d'afficher en premier l'enregistrement le plus récent. //Pour l'ordre croissant il suffit de retirer ORDER BY id DESC. //tant que la table n'est pas parcouru totalement on affiche les champs... while ( $result = mysql_fetch_array($nouvellerequete)) { echo"Prénom : $result [nom] <br>"; echo"tag: $result [tag] <br>"; echo"leader : $result [leader] <br>"; echo"email: $result [email] <br>"; } mysql_close(); ?>
je comprend pas pourquoi mais table sont incrementé de vide

Mammouth du PHP | 991 Messages

05 mai 2007, 19:18

mysql_query("INSERT INTO inscrit  VALUES('','$nom','$tag', '$leader', '$email')");
remplace ca par :
mysql_query("INSERT INTO inscrit  VALUES('','".$_POST[nom]."','".$_POST[tag]."', '".$_POST[leader]."', '".$_POST[$email]."')"); 

@+ thehawk
DevOps, Symfony4, Hoa

Petit nouveau ! | 9 Messages

05 mai 2007, 19:26

merci les table s'increment sauf l'email par contre on ne voit pas le reaffichage

Mammouth du PHP | 991 Messages

05 mai 2007, 19:32

j'ai fait une erreur de copier collé essaye avec $_POST[email] a la place de $_POST[$email] ^^

Enleve l'espace entre $result [nom] ==> $result[nom]
DevOps, Symfony4, Hoa

Petit nouveau ! | 9 Messages

05 mai 2007, 19:42

impect sa fonctionne, un grand merci

par contre tu peut me dire si le code est propre ou si des modif serais bien d'etre fait , et le script est il securiser

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

05 mai 2007, 21:10

Pour le rendre propre et sécurisé il faudrait d'abord remplacer les $_POST[nom] pas $_POST['nom'] et surtout utiliser mysql_real_escape_string() sur tout ce qui est utilisé dans les requête en provenance de l'utilisateur. Sinon il est facile d'injecter son propre code SQL dans ta requête et faire des tas de trucs pas joli-joli.

Fais une recherche sur "injection SQL" tu trouveras des trucs ici et sur le webs.

Petit nouveau ! | 9 Messages

05 mai 2007, 21:24

ok je vais chercher ca

par contre comment faire pour integrer du html au php afin de faire la mise en page

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

05 mai 2007, 21:34

Je ne suis pas sûr de comprendre, tout ce qui est en dehors des balises <?php et ?> est affiché directement, donc en gros on peut dire que tout ce qui est en dehors des balises PHP est du HTML sauf instruction contraire. (en-tête "Content-Type" de HTTP)

Si tu le souhaites ton script PHP peut ressembler à
<html>
<head><title>Ma page</title></head>
<body>
   <p>La date du moment est <?php echo date('r'); ?></p>

<?php

if (isset($_COOKIE['nom']))
{
   // on peut aussi utiliser "echo"
   echo '<p>Salut ', $_COOKIE['nom'], '</p>';
}

?>
</body>
</html>

Petit nouveau ! | 9 Messages

05 mai 2007, 21:39

je suis mal mon formulaire doit etre pret pour jeudi pour les inscriptions, et le system de reaffichage nous donne les teams par poule, et pour securiser le code je ne comprend rien, j'avais jamais fait ca avant ce matin

Petit nouveau ! | 9 Messages

06 mai 2007, 08:49

Voici mon formulaire final

le formulaire :

je pense que je n'est aucune modification a apporter.

Code : Tout sélectionner

<!doctype html public "-//w3c//dtd html 3.2//en"> <html> <head> <title>formulaire d'inscription</title> <meta name="GENERATOR" content="Arachnophilia 4.0"> <meta name="FORMATTER" content="Arachnophilia 4.0"> </head> <body bgcolor="#800000" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000"> <br><div align="center"><font size="3" color="Red"><b>Formulaire d'inscription au tournoi "Over There" Rescue Edition</b></font><br><br>==================================================<br><br> <font size="2" color="white"><b>Ce formulaire doit impérativement rempli par un leader.<br><br>Tous formulaire imcomplet ne seront pas pris en compte.<br><br>Avant de remplir ce formulaire, merci de lire le règlement général</b></font> <br><br>==================================================</div><br><br> <form action="valide.php" method="post"> <input type="hidden" name="subject" value="inscription au tournoi Over There : Rescue Edition"> <table width="100%" cellpadding="0" cellspacing="0"> <tr> <td width="40%"><div align="right">Nom du clan : </div></td> <td width="60%">&nbsp;&nbsp;<Input name="nom" size=30></td> </tr> <tr> <td width="40%"><div align="right">Tag du clan : </div></td> <td width="60%">&nbsp;&nbsp;<Input name="tag" size=10></td> </tr> <tr> <td width="40%"><div align="right">Nom du leader "1" : </div></td> <td width="60%">&nbsp;&nbsp;<Input name="leader1" size=30></td> </tr> <tr> <td width="40%"><div align="right">Nom du leader "2" : </div></td> <td width="60%">&nbsp;&nbsp;<Input name="leader2" size=30></td> </tr> <tr> <td width="40%"><div align="right">War-Arranger "1" : </div></td> <td width="60%">&nbsp;&nbsp;<Input name="war1" size=30></td> </tr> <tr> <td width="40%"><div align="right">War-Arranger "2" : </div></td> <td width="60%">&nbsp;&nbsp;<Input name="war2" size=30></td> </tr> <tr> <td width="40%"><div align="right">Pseudo des joueurs :<br /><i>(Avec le TAG)</i></div></td> <td width="60%">&nbsp;&nbsp;<textarea name="pseudo" cols=40 rows=5></textarea></td> </tr> <tr> <td width="40%"><div align="right">Adresse de votre site : </div></td> <td width="60%">&nbsp;&nbsp;<Input name="site" size=30></td> </tr> <tr> <td width="40%"><div align="right">Lien de votre bannières : <br /><i>(468x60)</i></div></td> <td width="60%">&nbsp;&nbsp;<Input name="banniere" size=30></td> </tr> <tr> <td width="40%"><div align="right">Lien de votre logo : <br /><i>Maxi (200x200)</i></div></td> <td width="60%">&nbsp;&nbsp;<Input name="logo" size=30></td> </tr> <tr> <td width="40%"><div align="right">Lien du tracker : <br /><i>Liens complet</i></div></td> <td width="60%">&nbsp;&nbsp;<Input name="tracker" size=30></td> </tr> <tr> <td width="40%"><div align="right">Nom du serveur : </div></td> <td width="60%">&nbsp;&nbsp;<Input name="serveur" size=30></td> </tr> <tr> <td width="40%"><div align="right">IP du serveur : </div></td> <td width="60%">&nbsp;&nbsp;<Input name="ip" size=30></td> </tr> <tr> <td width="40%"><div align="right">E-Mail de contact : </div></td> <td width="60%">&nbsp;&nbsp;<Input name="email" size=30></td> </tr> </table> <div align="center"> <input type="image" src="http://www.over-there.fr/images/envoyer.gif" border=0 width=73 height=19 alt="Envoyer"></div> </form><br><br><br> </body> </html>
le fichier qui renvoi les informations à la base de donné, lui je pense qu'il doit etre securise pour eviter tous hack, mais ca je ne sais pas faire

Code : Tout sélectionner

<?php //Je me connecte à la base de donnée grâce à ce code $serveur = "sql.free.fr"; // Serveur mySQL $base = "xxxxxxxxxs"; // Base de donnees mySQL $user = "xxxxxxxxxxxxxxx"; // Login de connection à mySQL $motdepasse = "xxxxxxxxxxx"; // Mot de passe pour mySQL @mysql_connect($serveur, $user, $motdepasse) or die("Erreur de connection."); @mysql_select_db($base); //J'enregistre les données provenant du formulaire mysql_query("INSERT INTO inscrit VALUES('','".$_POST[nom]."','".$_POST[tag]."', '".$_POST[leader1]."','".$_POST[leader2]."','".$_POST[war1]."','".$_POST[war2]."','".$_POST[pseudo]."','".$_POST[site]."','".$_POST[banniere]."','".$_POST[logo]."','".$_POST[tracker]."','".$_POST[serveur]."','".$_POST[ip]."','".$_POST[email]."')"); //ceci referme la connexion à la base mysql_close(); ?> merci d'avoir rempli le formulaire vous pouvez regarder votre fiche a été ajouter <a href="clan.php">Liste des clan</a>
et voici le fichier ou les informations seront réafficher: lui aussi n'est pas securiser et probleme pour mettre en page" clan.php

Code : Tout sélectionner

<?php //Je me connecte à la base de donnée grâce à ce code $serveur = "sql.free.fr"; // Serveur mySQL $base = "xxxxxxxxxxxx"; // Base de donnees mySQL $user = "xxxxxxxxxxxxx"; // Login de connection à mySQL $motdepasse = "xxxxxxxxxxxxx"; // Mot de passe pour mySQL @mysql_connect($serveur, $user, $motdepasse) or die("Erreur de connection."); @mysql_select_db($base); $nouvellerequete = mysql_query("SELECT id, nom, tag, leader1, leader2, war1, war2, pseudo, site, banniere, logo, tracker, serveur, ip, email from inscrit ") or die ("Erreur sql ".mysql_error()); //On sélectionne dans carnet tous champs dans l'ordre décroissant //Permettant après d'afficher en premier l'enregistrement le plus récent. //Pour l'ordre croissant il suffit de retirer ORDER BY id DESC. //tant que la table n'est pas parcouru totalement on affiche les champs... while ( $result = mysql_fetch_array($nouvellerequete)) { echo"Prénom : $result[nom] <br>"; echo"tag: $result[tag] <br>"; echo"leader1 : $result[leader1] <br>"; echo"leader2 : $result[leader2] <br>"; echo"War-arranger : $result[war1] <br>"; echo"War-arranger : $result[war2] <br>"; echo"Nom des joueurs : $result[pseudo] <br>"; echo"Adresse du site : $result[site] <br>"; echo"lien de la banniere : $result[banniere] <br>"; echo"lien du logo : $result[logo] <br>"; echo"lien tracker : $result[tracker] <br>"; echo"Nom du serveur : $result[serveur] <br>"; echo"ip du serveur : $result[ip] <br>"; echo"email: $result[email] <br><br>"; } mysql_close(); ?>
le formulaire se trouce :
http://usblackbulldogs.free.fr/inscription.html

par contre pour le réaffichage je voudrait que cela ressemble a ca

http://usblackbulldogs.free.fr/clan_inscrit.html

j'espere qu'une personne pourra me dire ou me faire mon code au propre et me montrer pour la mise en page de clan.php

merci d'avance