[RESOLU] [PHP] Automatisation des saisies et insertion de texte
Dernière réponse : dans Programmation
Bonjour,
Je sais que j'aurais besoin de php et MySQL pour mon projet.
Dans le cadre de création d'un site pour une asso sportive, j'ai besoin de prévoir un moyen de faire des ajouts réguliers de texte et d'images au fur et à mesure des manifestations sportives. Ca ne poserait pas de probleme si j'en étais le seul utilisateur. Seulement voilà, la personne qui s'en occupera le plus souvent n'y connais rien en html. Je dois donc lui proposer une interface simple pour la saisie des mises à jour.
J'ai besoin que l'interface se compose d'un champ texte et d'un bouton valider pour la saisie du texte, d'un champ texte, d'un bouton parcourir et un bouton valider pour l'insertion d'images. Le tout doit pouvoir se retrouver instantanément en ligne une fois validé.
Je suis conscient que tout ceci dépasse mes maigres connaissances en html, css et php. Je sais que je dois me mettre au MySQL (j'ai déjà commencé d'ailleurs), mais j'aurais besoin de pistes de recherches et surtout de savoir si je ne suis pas un peu trop ambitieux vu mon niveau.
Il est hors de question que quelqu'un le fasse à ma place, je veux apprendre et surtout le faire par moi-même. Je viens juste chercher un peu de soutien moral et surtout des conseils constructifs.
Je sais que j'aurais besoin de php et MySQL pour mon projet.
Dans le cadre de création d'un site pour une asso sportive, j'ai besoin de prévoir un moyen de faire des ajouts réguliers de texte et d'images au fur et à mesure des manifestations sportives. Ca ne poserait pas de probleme si j'en étais le seul utilisateur. Seulement voilà, la personne qui s'en occupera le plus souvent n'y connais rien en html. Je dois donc lui proposer une interface simple pour la saisie des mises à jour.
J'ai besoin que l'interface se compose d'un champ texte et d'un bouton valider pour la saisie du texte, d'un champ texte, d'un bouton parcourir et un bouton valider pour l'insertion d'images. Le tout doit pouvoir se retrouver instantanément en ligne une fois validé.
Je suis conscient que tout ceci dépasse mes maigres connaissances en html, css et php. Je sais que je dois me mettre au MySQL (j'ai déjà commencé d'ailleurs), mais j'aurais besoin de pistes de recherches et surtout de savoir si je ne suis pas un peu trop ambitieux vu mon niveau.
Il est hors de question que quelqu'un le fasse à ma place, je veux apprendre et surtout le faire par moi-même. Je viens juste chercher un peu de soutien moral et surtout des conseils constructifs.
Autres pages sur : resolu php automatisation saisies insertion texte
Lassé par la pub ? Créez un compte
C'est simple :
Ton formulaire
Ca devrait ressembler a un truc comme ca, si tu es flegmard oubli la programmation
Ton formulaire
<form method="POST" action="tapage.php" enctype="multipart/form-data">
<input type="text" name="texte">
<input type="file" name="fichier">
<input type="submit" value="Valider">
</form>
<?php
if(isset($_POST['texte']))
{
$fichier = $_FILES['fichier']['name'];
$texte = $_POST['texte'];
$destination_fichier = "images/$fichier";
if(move_uploaded_file($_FILES['fichier']['tmp_name'], $destination_fichier))
{
$sql = mysql_query("INSERT INTO truc VALUES....");
}
}
?>
Ca devrait ressembler a un truc comme ca, si tu es flegmard oubli la programmation
d'accord, c'est cool de ta part. mais comment je précise l'emplacement de destination ? les maj vont se mettre à les suite les unes des autres ? dans quel ordre? (du plus récent au plus ancien) Comment vont s'intégrer les images dans le texte ? Je testerai tout ça ce soir pour me faire une idée du résultat...
Merci encore.
Merci encore.
Regardes dans mon code tu as une variable $destination, elle correspond à là où tu vas enregistrer l'image. ?? euuh quoi ??
Je viens de t'envoyer un script qui te permet d'envoyer tes mises à jour sur le serveur. Sachant que pour que le script fonctionne bien il faut que le php.ini du serveur accepte des transactions de fichiers par le protocole Http. (Chez free, 2mégaoctets maximum).
Sinon tu peux les envoyer directement sur ton FTP.. et les afficher à l'arrache comme ceci :
Avec ca tu as largement les outils nécessaires à ta conception
L'intégration des images et tout ca c'est toi qui voit, on va pas te faire le design ^^
Citation :
Les maj vont se mettre à la suite les unes des autres ? Je viens de t'envoyer un script qui te permet d'envoyer tes mises à jour sur le serveur. Sachant que pour que le script fonctionne bien il faut que le php.ini du serveur accepte des transactions de fichiers par le protocole Http. (Chez free, 2mégaoctets maximum).
Sinon tu peux les envoyer directement sur ton FTP.. et les afficher à l'arrache comme ceci :
$rep="mises_a_jour/"; //ton dossier ou ya les maj
$dir = opendir($rep);
while($fichier = readdir($dir))
{
echo "<a href='$rep.$fichier'>$fichier</a><br>";
}
closedir();
Avec ca tu as largement les outils nécessaires à ta conception
L'intégration des images et tout ca c'est toi qui voit, on va pas te faire le design ^^
wai, je suis justement en train de le faire. ca marche bien pour le texte, mais pas du tout pour l'image. J'arrive pas à trouver la bonne syntaxe de l'echo "<img src=... pour afficher une image importée. Voici mon code pour l'affichage:
En fait, ce que je veux faire, c'est aller chercher l'image (parcourir...), et lors de la validation, il copie l'image dans un répertoire créé par moi, puis l'affiche à l'écran.
Alors je sais pas comment copier un ficher vers un repertoire, ni trouver la syntaxe pour l'afficher.
Merci
<?php
echo "<img src=\"$chemin_image\" />";
?>
En fait, ce que je veux faire, c'est aller chercher l'image (parcourir...), et lors de la validation, il copie l'image dans un répertoire créé par moi, puis l'affiche à l'écran.
Alors je sais pas comment copier un ficher vers un repertoire, ni trouver la syntaxe pour l'afficher.
Merci
Oui et c'est exactement ce que j'ai fait dans mon premier mesage, celui ci :
Tu as juste a rajouter un echo...tu crois que je m'amuse a poster du code qui sert a rien ^^
En haut tu as ton formulaire, avec le bouton parcourir (<input type='file'>)
Ensuite j'enregistre l'image avec la fonction move_uploaded_file();
Et finalement j'affiche l'image..
Ton formulaire
Oubli pas de changer le nom du dossier, pour cela tu changes la variable $destination_fichier, bon courage. Je pense que ce topic peut passer résolu.
Pour plus d'infos renseigne toi sur la fonction move_uploaded_file();
Tu as juste a rajouter un echo...tu crois que je m'amuse a poster du code qui sert a rien ^^
En haut tu as ton formulaire, avec le bouton parcourir (<input type='file'>)
Ensuite j'enregistre l'image avec la fonction move_uploaded_file();
Et finalement j'affiche l'image..
Ton formulaire
<form method="POST" action="tapage.php" enctype="multipart/form-data">
<input type="text" name="texte">
<input type="file" name="fichier">
<input type="submit" value="Valider">
</form>
<?php
if(isset($_POST['texte']))
{
$fichier = $_FILES['fichier']['name'];
$texte = $_POST['texte'];
$destination_fichier = "images/$fichier";
if(move_uploaded_file($_FILES['fichier']['tmp_name'], $destination_fichier))
{
echo "<img src='$destination_fichier'>";
}
}
?>
Oubli pas de changer le nom du dossier, pour cela tu changes la variable $destination_fichier, bon courage. Je pense que ce topic peut passer résolu.
Pour plus d'infos renseigne toi sur la fonction move_uploaded_file();
bon alors ok pour ton message, mais j'ai plusieurs problemes qui se présentent:
1- Comment ajouter les messages sans qu'ils s'écrasent ?
2- Comment uploader une image, la copier dans le rép images et en même temps la faire s'afficher? Ca marche pas ton truc. Il me met une croix de non-image. Pourtant j'ai activé MySQL depuis longtemps.
J'arrive pas à me représenter comment il incrémente les messages pour les ajouter à la suite, le cheminement logique de cette action m'échappe. Pourrais-tu m'éclairer ?
1- Comment ajouter les messages sans qu'ils s'écrasent ?
2- Comment uploader une image, la copier dans le rép images et en même temps la faire s'afficher? Ca marche pas ton truc. Il me met une croix de non-image. Pourtant j'ai activé MySQL depuis longtemps.
J'arrive pas à me représenter comment il incrémente les messages pour les ajouter à la suite, le cheminement logique de cette action m'échappe. Pourrais-tu m'éclairer ?
1 - Il faut que tu mettes un id a tes messages dans ta base de données donc tu créé un champ id et tu le mets en auto increment.
2 - Oulah .. tu mélanges tout la, mon script marche très bien, mais c'est pas en faisant un copier coller que tout fonctionne, je ne pense pas que ta page soit dans un dossier qui contient un dossier images/. Et je vois pas le rapport avec la base de données.
C'est relativement simple, dans un exemple concret, chaque personne est identifiable par un identifiant unique, son ADN ou ses empreintes digitales. Si un jour quelqu'un doit trouver telles empreintes il n'aura qu'une seule personne a trouver.
Pour tes messages c'est pareil tu vas leur donner un identifiant, un nombre, a chaque fois que tu vas ajouter un message ce nombre va augmenter de 1. Ton premier message aura l'id 1, ton deuxieme 2 etc..
2 - Oulah .. tu mélanges tout la, mon script marche très bien, mais c'est pas en faisant un copier coller que tout fonctionne, je ne pense pas que ta page soit dans un dossier qui contient un dossier images/. Et je vois pas le rapport avec la base de données.
C'est relativement simple, dans un exemple concret, chaque personne est identifiable par un identifiant unique, son ADN ou ses empreintes digitales. Si un jour quelqu'un doit trouver telles empreintes il n'aura qu'une seule personne a trouver.
Pour tes messages c'est pareil tu vas leur donner un identifiant, un nombre, a chaque fois que tu vas ajouter un message ce nombre va augmenter de 1. Ton premier message aura l'id 1, ton deuxieme 2 etc..
Alors pour ce qui est de mettre des infos genre news, c'est bon, j'ai pris des cours sur le site du zéro, et ça marche. Cependant, une fois que la saisie a été validée et affichée, si je fais juste F5 elle est doublée, re-F5 elle est triplée, ... Pourquoi ?
<div id="formulaire">
<?php
if (isset($_POST['prenom']) AND isset($_POST['pseudo'])) // Si les variables existent
{
if ($_POST['prenom'] != NULL AND $_POST['pseudo'] != NULL) // Si on a quelque chose à enregistrer
{
// D'abord, on se connecte à MySQL
mysql_connect("localhost", "dirtyduck", "passwd");
mysql_select_db("sondage_prenom");
// On utilise la fonction PHP htmlentities pour éviter d'enregistrer du code HTML dans la table
$prenom = htmlentities ($_POST['prenom']);
$pseudo = htmlentities ($_POST['pseudo']);
// Ensuite on enregistre le message
mysql_query("INSERT INTO sondage_prenom VALUES('', '$prenom', '$pseudo')");
// On se déconnecte de MySQL
mysql_close();
}
}
?>
<form action="index.php" method="post">
<p>
Proposez un prénom :<br /><input type="text" name="prenom" size="20" />
<p> </p>
Entrez votre pseudo :<br /><input type="text" name="pseudo" size="20" />
<p> </p>
<input type="submit" value="Envoyer" />
</p>
</form>
</div>
<div id="prenoms">
<p>Voici les propositions :</p>
<p> </p>
<?php
// Maintenant on doit récupérer les entrées de la table
// On se connecte d'abord à MySQL :
mysql_connect("localhost", "dirtyduck", "passwd");
mysql_select_db("sondage_prenom");
// On utilise la requête suivante pour récupérer les messages :
$reponse = mysql_query("SELECT * FROM sondage_prenom ORDER BY ID DESC");
// On se déconnecte de MySQL
mysql_close();
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<?php echo $donnees['pseudo']; ?> propose : <strong><?php echo $donnees['prenom']; ?></strong><br />
<?php
}
// Fin de la boucle, le script est terminé !
?>
</div>
Simplement parce que si tu rafraichis ta page tu renvoie les valeurs au navigateur (les valeur POST). En fait tu rafraichis carement ton script d'envoi d'une news.. ce qui est tout a fait normal, après ton insertion tu n'as qu'a faire une redirection :
ou comme ceci
Pas d'inquiétudes alors
Si tu n'as toujours pas compris appuis sur F6 ca devrait résoudre ton problem
Mets le topic en RESOLU STP
header("location:tapage.php");
ou comme ceci
<META HTTP-EQUIV="refresh" CONTENT="3; URL=tapage.php">
Pas d'inquiétudes alors
Si tu n'as toujours pas compris appuis sur F6 ca devrait résoudre ton problem
Mets le topic en RESOLU STP
Lassé par la pub ? Créez un compte
- Contenus similaires :