Page 1 sur 1
Formulaire + base de donne + réaffichage
Posté : 05 mai 2007, 19:14
par bionludovic
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
Posté : 05 mai 2007, 19:18
par thehawk
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
Posté : 05 mai 2007, 19:26
par bionludovic
merci les table s'increment sauf l'email par contre on ne voit pas le reaffichage
Posté : 05 mai 2007, 19:32
par thehawk
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]
Posté : 05 mai 2007, 19:42
par bionludovic
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
Posté : 05 mai 2007, 21:10
par Hubert Roksor
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.
Posté : 05 mai 2007, 21:24
par bionludovic
ok je vais chercher ca
par contre comment faire pour integrer du html au php afin de faire la mise en page
Posté : 05 mai 2007, 21:34
par Hubert Roksor
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>
Posté : 05 mai 2007, 21:39
par bionludovic
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
Posté : 06 mai 2007, 08:49
par bionludovic
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%"> <Input name="nom" size=30></td>
</tr>
<tr>
<td width="40%"><div align="right">Tag du clan : </div></td>
<td width="60%"> <Input name="tag" size=10></td>
</tr>
<tr>
<td width="40%"><div align="right">Nom du leader "1" : </div></td>
<td width="60%"> <Input name="leader1" size=30></td>
</tr>
<tr>
<td width="40%"><div align="right">Nom du leader "2" : </div></td>
<td width="60%"> <Input name="leader2" size=30></td>
</tr>
<tr>
<td width="40%"><div align="right">War-Arranger "1" : </div></td>
<td width="60%"> <Input name="war1" size=30></td>
</tr>
<tr>
<td width="40%"><div align="right">War-Arranger "2" : </div></td>
<td width="60%"> <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%"> <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%"> <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%"> <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%"> <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%"> <Input name="tracker" size=30></td>
</tr>
<tr>
<td width="40%"><div align="right">Nom du serveur : </div></td>
<td width="60%"> <Input name="serveur" size=30></td>
</tr>
<tr>
<td width="40%"><div align="right">IP du serveur : </div></td>
<td width="60%"> <Input name="ip" size=30></td>
</tr>
<tr>
<td width="40%"><div align="right">E-Mail de contact : </div></td>
<td width="60%"> <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