Creation programme PHP automatique.

julusmulus

Membre actif
1 Mai 2007
268
8
Mexico
Salut à tous,
Je susi entraint de creer un site internet pour un pote, et dans son site j'ai besoin de creer une base de donnée pour que les gens puisse s'enregistrer.
J'ai un programme fourni avec mon serveur payant, qui s'appel phpBook
C'est une base de donnée déjà créée, mon soucis est que j'ai besoin de rajouter des cases d'information et je voudrait ces informations obligatoires a remplir.

Je n'y connait rien du tout en PHP et j'aimerai savoir si il n'y aurai pas un programme genre iweb pour l'HTML mais qui soit pour le PHP.
Donc que je crée la page normallement et que sa s'ecrive automatiquement en PHP.
Meric pour votre aide.
 
J'ai peur que non…

Et puis, il y a plusieurs éléments à modifier pour que ton voeu soit exaucé :
- modifier la base de données (MySql) : pas trop compliqué
- modifier le script php : pas trop compliqué
- ajouter quelques lignes de javascript pour le contrôle du formulaire : pas trop compliqué

Je ne connais pas de logiciel qui fasse ça de façon 'intuitive' pourtant.
 
merci pour ta réponse, j'ai éssayé un petit de modifier des éléments , mais le problème est que je ne sait pas quels sont les fichiers a modifier.

http://www.insight-mx.com/phpBook
Voici ce qui est automatiquement creer par mon serveur, geré par PLESK
Il me permet la creation de certaines en PHP, mais après c'est pour les modifiers que je galère grave....
Et dessous en pièce jointe les fichiers que comporte ce programme, dont j'ai accès via FTP.

Merci pour simplement me donner un petit chemin a suivre. :zen:
 
merci pour ta réponse, j'ai éssayé un petit de modifier des éléments , mais le problème est que je ne sait pas quels sont les fichiers a modifier.

http://www.insight-mx.com/phpBook
Voici ce qui est automatiquement creer par mon serveur, geré par PLESK
Il me permet la creation de certaines en PHP, mais après c'est pour les modifiers que je galère grave....
Et dessous en pièce jointe les fichiers que comporte ce programme, dont j'ai accès via FTP.

Merci pour simplement me donner un petit chemin a suivre. :zen:
phpBook c'est quoi ??

Si on clique sur le lien que tu as mis on arrive sur un page guestbook.php, si c'est ça alors c'est bon a jeter, un livre d'or ça se fait et même très bien avec une table et une page PHP, pas besoin de plus fichiers que ça.

Sinon quel est ton niveau en PHP, parce que l'édition de PHP c'est forcément à la main donc il faut connaitre un minimum pour l'utiliser :)
 
Et bien oui, PHPbook c bien ça, c'est le guest book....
Mon niveau en PHP c'est 0
Je n'y connait rien du tout.
J'ai éssayé de lire un peu des explications sur la création du PHP et je t'avourai que j'ai vraiment du mal.
Je suis bloqué.
Bon ben alors attend on va faire un truc plus simple :)

Dis ce dont tu as envie comme livre d'or (ce que tu veux que les gens doivent/puissent entrer comme information) et on le fera ici (c'est pas compliqué promis) comme ça tu verra un peu comment marche PHP :)

Je repasse demain ou ce soir tard quand je reviens, mais si c'est ce soir je sais pas dans quel état je serais (certainement en Pennsylvanie, oui c'est proche de l'Ohio :rateau:...) :)
 
Super, merci de ta part, alors j'ai simplemenht besoin d'une page ou j'aurai le logo d'une entrreprise, et de 6 colonnes obligatoires : Nom, prénom, Email, Tel, entreprise et poste a l'entreprise.

En fait c'est pour une inscriptions a une soirée.

Merci encore pour ton aide.
Quand je ferait références à des images, il faudra aller voir sur http://shared.p4bl0.net/ dans MacG/jujusmulus :)

Alors, il te faut une table dans une base de données. Tu doit avoir accès à PHPMyAdmin quelque part dans PLESK je suppose.
Vas-y et créer une table avec 7 champs tel qu'il suit. je vais donner sur chaque ligne dans l'ordre :
nom du champ, type, longueur si besoin est, extra si besoin est
(si il y a un - c'est qu'il ne faut rien mettre :))

id, int, -, auto_increment
nom, varchar, 100, -
prenom, varchar, 100, -
email, varchar, 200, -
telephone, varchar, 30, -
entreprise, varchar, 100, -
poste, varchar, 100, -
voir Image 1.png et Image 2.png
Une fois cette table (appelons la instructions) créée, on peut continuer et passer au html et au PHP.


En html il nous faut le formulaire d'inscriptions, je vais supposer qu'on travail sur la page inscriptions.php :
Bloc de code:
<form action="inscriptions.php" method="post">
	<p>
		<label for="nom">Nom</label>
		<input type="text" maxlenght="100" name="nom" id="nom" value="" />
	</p>
	<p>
		<label for="prenom">Pr&#233;nom</label>
		<input type="text" maxlenght="100" name="prenom" id="prenom" value="" />
	</p>
	<p>
		<label for="email">Email</label>
		<input type="text" maxlenght="200" name="email" id="email" value="" />
	</p>
	<p>
		<label for="nom">T&#233;l&#233;phone</label>
		<input type="text" maxlenght="30" name="telephone" id="telephone" value="" />
	</p>
	<p>
		<label for="nom">Entreprise</label>
		<input type="text" maxlenght="100" name="entreprise" id="entreprise" value="" />
	</p>
	<p>
		<label for="nom">Poste dans l'entreprise</label>
		<input type="text" maxlenght="100" name="poste" id="poste" value="" />
	</p>
	<p style="display:none;">
		<label for="city">City</label>
		<input type="text" name="city" value="" id="city" />
	</p>
	<p>
		<input type="submit" name="Envoyer" value="S'inscrire !" id="Envoyer" />
	</p>
</form>
Le champ city est la pour les spams : les robot le rempliront mais pas les humains : il ne le verront pas :)
on mettre du PHP dans value="" dans ppeu de temps :)

Maintenant il faut utiliser PHP pour traiter le formulaire et enregistrer les donn&#233;es dans la base de donn&#233;es place ce code juste avant le formulaire html
Bloc de code:
<?php
	if (isset($_GET['submit']) && $_POST['city'] == '') {
		if (empty($_POST['nom']) || empty($_POST['prenom']) || empty($_POST['email']) || empty($_POST['telephone']) || empty($_POST['entreprise']) || empty($_POST['post'])) {
			echo 'Tout les champs du formulaire sont obligatoires !';
			$error = true;
		}
		else {
			if ($connexion = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS)) {
				mysql_select_db(SQL_DABA);
				mysql_query("INSERT INTO `inscriptions` (`id`,`nom`,`prenom`,`email`,`telephone`,`entreprise`,`poste`) VALUES ('', '".$_POST['nom']."', '".$_POST['prenom']."', '".$_POST['email']."', '".$_POST['telephone']."', '".$_POST['entreprise']."', '".$_POST['poste']."');");
				mysql_close($connexion);
				echo 'Votre inscriptions a bien &#233;t&#233; prise en compte.';
				$error = false;
			}
			else {
				echo 'La connexion au serveur MySQL a &#233;chou&#233;, veuillez r&#233;essayer, merci.';
				$error = true;
			}
		}
	}
	else {
		$error = false;
	}
?>
D'abord on test si le formulaire a &#233;t&#233; valid&#233; en v&#233;rifiant que la variable $_GET['submit'] existe (elle est cr&#233;er car le formulaire envoie sur "inscriptions.php?submit"). On test en m&#234;me temps si le champs "city" est vide, si oui on continu, sinon (voir tout en bas du code) on met $error a flase, tu verra pourquoi plus tard.

On regarde si le visiteur a bien renseign&#233; tout les champs en testant pour chacun d'eux si il est vide. Si il y en a un ou plus de vide, on l'&#233;crit (echo '...';) puis on met la variable $error a true.
Si au contraire le visiteur a bien tout rempli, on se connecte &#224; la base de donn&#233;es (remplace SQL_HOST, SQL_USER, SQL_PASS et SQL_DABA par respectivement le serveur mysql, le nom d'utilisateur mysql, le mot de passe de l'utilisateur, et le nom de la base dans laquelle tu as cr&#233;&#233; la table inscriptions) et on enregistre les donn&#233;es. Si jamais la connexion se passe mal on le dis au visiteur et on met $error a true, sinon si tout s'est bien pass&#233; on met $error a false.

La variable $error nous permet de savoir si il y a eu une erreur. On va s'en servir pour r&#233;afficher ce que le visiteur a entr&#233; si jamais il y a une erreur comme &#231;a il n'a pas &#224; tout retaper. Pour &#231;a on va ajouter un petit peu de PHP dans les champ value="" du formulaire. voil&#224; ce que &#231;a donne :
Bloc de code:
<form action="inscriptions.php?submit" method="post">
	<p>
		<label for="nom">Nom</label>
		<input type="text" maxlenght="100" name="nom" id="nom" value="<?=($error)?$_POST['nom']:''?>" />
	</p>
	<p>
		<label for="prenom">Pr&#233;nom</label>
		<input type="text" maxlenght="100" name="prenom" id="prenom" value="<?=($error)?$_POST['prenom']:''?>" />
	</p>
	<p>
		<label for="email">Email</label>
		<input type="text" maxlenght="200" name="email" id="email" value="<?=($error)?$_POST['email']:''?>" />
	</p>
	<p>
		<label for="telephone">T&#233;l&#233;phone</label>
		<input type="text" maxlenght="30" name="telephone" id="telephone" value="<?=($error)?$_POST['telephone']:''?>" />
	</p>
	<p>
		<label for="entreprise">Entreprise</label>
		<input type="text" maxlenght="100" name="entreprise" id="entreprise" value="<?=($error)?$_POST['entreprise']:''?>" />
	</p>
	<p>
		<label for="poste">Poste dans l'entreprise</label>
		<input type="text" maxlenght="100" name="poste" id="poste" value="<?=($error)?$_POST['poste']:''?>" />
	</p>
	<p style="display:none;">
		<label for="city">City</label>
		<input type="text" name="city" value="" id="city" />
	</p>
	<p>
		<input type="submit" name="Envoyer" value="S'inscrire !" id="Envoyer" />
	</p>
</form>

Maintenant il ne reste plus qu'a afficher les donn&#233;es.
Met ce code apr&#232;s le formulaire.
Bloc de code:
<?php
	if ($connexion = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS)) {
		mysql_select_db(SQL_DABA);
		$inscriptions = mysql_query("SELECT * FROM `inscriptions` ORDER BY `id` DESC");
		mysql_close($connexion);
		while ($insc = mysql_fetch_array($inscriptions)) {
			?>
			ici c'est du html, tu pr&#233;sente les donn&#233;es comme tu veux, sache juste que :
			<?=$insc['nom']?> affiche le nom, <?=$insc['prenom']?> affiche le prenom, <?=$insc['email']?> affiche l'email... :)
			<?php
		}
	}
	else {
		echo 'D&#233;sol&#233;, impossible de se connecter &#224; la base de donn&#233;es.';
	}
?>


Et voil&#224; le tour est jou&#233; :)


Plus simple que phpBook quand m&#234;me non ?? :p

Si tu as besoin d'aide pour comprendre ou installer le bidule demande ici, je ne sais pas si je suis bien clair pour quelqu'un qui ne conna&#238;t pas :rose: :)
 
  • J’aime
Réactions: TibomonG4 et Céroce
Super tes explications ....

Meme comme ça , ça me parait un peu compliqué, mais je m'y penche, je vais éssayer de creer tous ça.

Je te dit demain ou j'en suis, en éspérant que je ne vai pas trop galérer.
Ici au mexiqaue il est 7 heures de moins qu'en france, donc éspérons que l'on puisse se croiser, sinon ne t'inquiète pas si je traine un peu ;)

Mais quand meme, vraiment chapeau....
tout ceci mériterait de rentrer en TUTO PHP pour super débutant !!
:up: :up: :up:
 
Alors l&#224; pablo, le coup du champ 'city' invisible c'est pas mal du tout :) j'en &#233;tais encore aux tests de machinchose (je sais plus comment &#231;a s'appelle, les caract&#232;res biscornus) pour v&#233;rifier humain / pas humain. :rolleyes:

Ce champ invisible est une super id&#233;e quand on a pas besoin d'une s&#233;curit&#233; ultime par rapport aux robots. :up:
 
Tu peux aussi am&#233;liorer le truc en changeant les id des champs :

The Invisible Captcha Mechanism (ICM) against Form Spam

Plus aucuns spams depuis ;)
Regardez moi le ce gloup gloup trop modeste :rolleyes: ;)

C'est lui qui a pens&#233; au coup du champ invisible dans une discussion sur MacG il y a quelque temps (moi j'ai repris l'id&#233;e parce qu'elle est bonne, simple et efficace) et il ne le dit m&#234;me pas :)

Edit : et ben maintenant il a un article qui en parle ^^

:up:
 
OK, encore merci Pablo, bon maintenant j'y suis, j'ai commenc&#233; par le commencement, et je coince d&#233;j&#224;....:siffle: d&#233;sol&#233;

Alors d&#233;j&#224; ma base de donn&#233;e va etre en espagnol. j'&#233;sp&#232;re que ce n'est pas un probl&#232;me.
je vais donc devoir modifier tous les noms de chaque colonne a l'espagnol.
Ensuite me voila donc dans PHP my admin
Dans image 1 (voir ci-dessous, je rentre donc le premier champ que j'apelle id
et le num&#233;ro de champ 1, jusque la tout va bien, a priori je cr&#233; une premi&#232;re colonne appel&#233;e "id".
Dans image 2, je rentre tout ce que tu me dit, donc "id, int, -, auto_increment"
Sauf que a priori ce n'est pas suffisant, ma base de donn&#233;e veu plus d'informations.
Dans image 2, on me demande de rentrer quelque chose.
dans atributos et les choix sont : UNSIGNED ou UNSIGNED ZEROFILL
dans nulo les choix sont : NUL ou NOT NUL
Il y a aussi toutes les autres colonnes a rentr&#233;, je ne sais pas si c'est n&#233;c&#233;ssaires....
Surement que tu comprendras l'erreur donn&#233; par phpmyadmin grace a l'image 3 car pour moi c'est un peu du chinois.
Admetons que je laisse comme s'est, donc je met que ce que tu ma dit, la r&#233;ponse donn&#233; par mon serveur est sur image 3.
ils me proposent de regarder le manuel, ce que j'ai &#233;ssayer, mais mon anglais n'est pas assez bon, pour comprendre le manuel
Voila, merci encore pour ton aide...

edit : en me relisant j'ai remarqu&#233; que mes pi&#232;ces jointes n'ont pas de nom, donc image 1 = 53kb, image 2 = 79kb, et image 3 = 112kb
 
Ok, donc je reposte ,sa y est j'ai r&#233;ussi a creer la premi&#232;re &#233;tape.
Voir pi&#232;ce jointe.

Par contre je l'ai appel&#233; id, au lieu de l'appeler inscriptions, j'&#233;sp&#232;re qu 'il n'y aura pas de cons&#233;quences.

Pour ce qui est de la deuxi&#232;me &#233;tapes, donc le formulaire HTTP, est-ce sufisant changer les noms &#224; d'autres en espagnol ?

Ensuite pour cette creation HTTP et la PHP, je ne sais vraiment plus ou faire tout &#231;a
J'ai du changer les noms a des noms en espagnols voici ce que sa donne.
J'y ai mis des majuscules aussi, j'&#233;sp&#232;re que ce n'est pas un probl&#232;me.
Ensuite je l'ai cr&#233;er avec Text Edit et enregistrer en format HTML.
par contre aucune id&#233;es d'ou le mettre.

<form action="inscriptions.php" method="post">
<p>
<label for="Apellido">Apellido</label>
<input type="text" maxlenght="100" name="Apellido" id="Apellido" value="" />
</p>
<p>
<label for="Nombre">Nombre</label>
<input type="text" maxlenght="100" name="Nombre" id="Nombre" value="" />
</p>
<p>
<label for="Email">Email</label>
<input type="text" maxlenght="200" name="Email" id="Email" value="" />
</p>
<p>
<label for="Apellido">Telefono</label>
<input type="text" maxlenght="30" name="telefono" id="telefono" value="" />
</p>
<p>
<label for="Apellido">Empresa</label>
<input type="text" maxlenght="100" name="Empresa" id="Empresa" value="" />
</p>
<p>
<label for="Nombre">Puesto</label>
<input type="text" maxlenght="100" name="Puesto" id="Puesto" value="" />
</p>
<p style="display:none;">
<label for="city">City</label>
<input type="text" name="city" value="" id="city" />
</p>
<p>
<input type="submit" name="Enviar" value="Registrarse !" id="Enviar" />
</p>
</form>

D&#233;sol&#233; pour mon incomp&#233;tence et merci pour ton aide
 
Ok, donc je reposte ,sa y est j'ai r&#233;ussi a creer la premi&#232;re &#233;tape.
Voir pi&#232;ce jointe.

Par contre je l'ai appel&#233; id, au lieu de l'appeler inscriptions, j'&#233;sp&#232;re qu 'il n'y aura pas de cons&#233;quences.

Pour ce qui est de la deuxi&#232;me &#233;tapes, donc le formulaire HTTP, est-ce sufisant changer les noms &#224; d'autres en espagnol ?

Ensuite pour cette creation HTTP et la PHP, je ne sais vraiment plus ou faire tout &#231;a
J'ai du changer les noms a des noms en espagnols voici ce que sa donne.
J'y ai mis des majuscules aussi, j'&#233;sp&#232;re que ce n'est pas un probl&#232;me.
Ensuite je l'ai cr&#233;er avec Text Edit et enregistrer en format HTML.
par contre aucune id&#233;es d'ou le mettre.

<form action="inscriptions.php" method="post">
<p>
<label for="Apellido">Apellido</label>
<input type="text" maxlenght="100" name="Apellido" id="Apellido" value="" />
</p>
<p>
<label for="Nombre">Nombre</label>
<input type="text" maxlenght="100" name="Nombre" id="Nombre" value="" />
</p>
<p>
<label for="Email">Email</label>
<input type="text" maxlenght="200" name="Email" id="Email" value="" />
</p>
<p>
<label for="Apellido">Telefono</label>
<input type="text" maxlenght="30" name="telefono" id="telefono" value="" />
</p>
<p>
<label for="Apellido">Empresa</label>
<input type="text" maxlenght="100" name="Empresa" id="Empresa" value="" />
</p>
<p>
<label for="Nombre">Puesto</label>
<input type="text" maxlenght="100" name="Puesto" id="Puesto" value="" />
</p>
<p style="display:none;">
<label for="city">City</label>
<input type="text" name="city" value="" id="city" />
</p>
<p>
<input type="submit" name="Enviar" value="Registrarse !" id="Enviar" />
</p>
</form>

D&#233;sol&#233; pour mon incomp&#233;tence et merci pour ton aide
Ben si tu as modifier partout &#231;a devrait fonctionner.

Pour la page voici comment l'organiser :

Bloc de code:
<!DOCTYPE ...>
<html ...>
<head>...</head>
<body>
...
[I]code php enregistrement donn&#233;es
code html formulaire
code php affichage[/I]
...
</body>
</html>

Les ... sont a remplacer par ce qu'il y a dans ta page :)
 
jujusmulus a dit:
Ok, le truc que je ne comprend pas, c'est ou mettre toutes ces ecritures php et html ???

Sur mon serveur ftp je ne voi rien qui soit en raport ?? je ne sais pas ou creer tout &#231;a, en bref apr&#232;s avoir creer la page inscriptions.html, je ne sais ni koi en faire ni ou la mettre.
C'est inscriptions.php

Ben une fois que tu as cr&#233;&#233; le fichier fait comme je te le dis dans mon pr&#233;c&#233;dent post :)
 
Regardez moi le ce gloup gloup trop modeste :rolleyes: ;)

C'est lui qui a pensé au coup du champ invisible dans une discussion sur MacG il y a quelque temps (moi j'ai repris l'idée parce qu'elle est bonne, simple et efficace) et il ne le dit même pas :)

Gné? :mouais: C'est moi qui ai parlé de la technique des champs invisibles? Je t'assure que je ne m'en souviens pas du tout. :confused: Mais je n'ai pas une très bonne mémoire : je ne saurais même plus dire d'où vient l'info… :rose:

Edit : et ben maintenant il a un article qui en parle ^^

:up:

Oui mais ici la technique est affinée avec des champs changeants. ;)