Besoin aide php simple

Résolu/Fermé
little_bouddah Messages postés 95 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 23 novembre 2012 - 7 mars 2011 à 12:25
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 - 19 mars 2011 à 13:58
Bonjour,

Je cherche à faire quelque chose de simple en php mais étant un Newb dans ce domaine je peine à trouver une source qui colle exactement avec mon objectif.

En détail:
Je souhaite avoir une page de formulaire (deja crée en HTML) sans mot de passe, juste un champs de texte pour entrer les news d'un site. Cette page serait en quelque sorte une page d'administration dont l'adresse ne serait connu que de celui qui administre le site. jusque là tout va bien.

Et une seconde qui fonctionnerait un peu comme un livre d'or, à savoir que chaque message qui serait tapé dans ma page formulaire et envoyé, serait affiché sur ma page cible (celle dont je vous parle en ce moment) à la suite des précédents, et qui elle en revanche ferait partie du site et serait donc visible par les visiteurs.

Je me doute qu'il va me falloir passer par une base de données pour conserver les messages au fur et à mesure qu'ils seront postés mais la concrétisation de cette idée m'échappe complètement.

Ce qui me manque donc c'est l'étape de récupération des données texte envoyées, leur enregistrement, et la mise à jour de la page cible.

J'espère avoir été assez clair, et par avance je vous remercie de l'aide que vous pourrez m'apporter.

Si vous avez des questions ou propositions sur tout n'hésitez pas.


-------------------------------------------------------------------------------------------------------------------
"Il ne suffit pas d'engranger les récoltes du savoir, encore faut-il accepter de les offrir pour s'agrandir ensemble." [Jacques Salomé]
A voir également:

9 réponses

arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
7 mars 2011 à 12:47
Bonjour,
Tout ce dont tu as besoin se trouve sur cette page: https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql
Commence par là et reviens nous voir par la suite.
On analysera les problèmes les uns après les autres.
Bon courage à toi ;)
0
MastercroW Messages postés 1095 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
7 mars 2011 à 15:48
Salut,
Je te conseil d'aller sur le site du zéro comme te l'a dit Arthezius, ensuite une fois que tu auras brièvement compris le système du PHP, tu pourras télécharger des scripts d'espace membres.

Je te conseil fortement à savoir comment fonctionne le PHP après à toi de voir !
0
cconsulte le site
[http://www.informatique-aze.com

il ya des cours trés simple
0
little_bouddah Messages postés 95 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 23 novembre 2012 6
11 mars 2011 à 02:14
Bonsoir,

Alors j'ai bossé un petit peu, j'ai compris pas mal de choses (simples) je pense, bien que la maitrise ne soit pas encore réellement installée, j'ai regardé quelques scripts et je m'en suis inspiré pour comprendre ce dont j'avais besoin.

Au final, j'arrive à créer une page sécurisée par un mot de passe admin qui envoie vers une page avec un champ de texte pour que le propriétaire du site écrive sa news, ensuite le contenu du champ des news est écrit dans la table sql. Je suis également parvenu à lire le champ dans la table mais...

ce que je n'arrive pas à faire et qui serait le point ultime pour avoir mené mon idée au bout c'est d'intégrer une présentation. C'est du HTML vous dites? oui certes pour 90% de la page probablement mais il manque un détail, je voudrais séparer les entrées, que ce soit présenté comme un livre d'or, avec ne serais-ce qu'une ligne d'espace entre chaque entrée de la table (chaque news).

Pour le reste de la présentation de la page ce sera du html mais je ne sais toujours pas organiser graphiquement et séparer ce qui sort de ma table sql...

Par avance merci et voici le code de ma page affichée, celle qui lit dans la table donc et que les visiteurs pourront voir:

<?php
// Connexion à MySQL
$db = mysql_connect('SQL', 'TABLE', 'MDP');

// on selectionne la base
mysql_select_db('TABLE',$db);

// Création de la requete SQL
$sql = "SELECT contenu FROM TABLE";

// Envoi de la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

// Boucle pour faire un tour pour chaque enregistrement
while($data = mysql_fetch_array($req))
{
// Affichage des informations de l'enregistrement en cours
echo '<b>'.$data['contenu'].'</b>';
}

// Fin de connexion à mysql
mysql_close();
?>

Merci d'avance pour votre aide directe ou pour l'orientation que vous pourrez donner à mes recherches.


-------------------------------------------------------------------------------------------------------
"Il ne suffit pas d'engranger les récoltes du savoir, encore faut-il accepter de les offrir pour s'agrandir ensemble." [Jacques Salomé]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MastercroW Messages postés 1095 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
11 mars 2011 à 02:22
Salut, niveaux réponses qu'as tu actuellement ?
Que le contenu sans dates, auteur etc ... ?
Que veux tu alors ? x)
echo '<b>'.$data['contenu'].'</b>';
par
echo ''.$data['contenu'].'</br>';
0
little_bouddah Messages postés 95 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 23 novembre 2012 6
11 mars 2011 à 03:20
Exactement c'est ça:

echo '<p>'.$data['contenu'].'</p> <hr width="100%" color="#000000" size="1">';
}

Cependant il me reste un point à régler, mes news sont écrites de haut en bas or je voudrais que ce soit le contraire pour que les plus récentes soient en haut... comment faire?

-------------------------------------------------------------------------------------------------------
"Il ne suffit pas d'engranger les récoltes du savoir, encore faut-il accepter de les offrir pour s'agrandir ensemble." [Jacques Salomé]
0
little_bouddah Messages postés 95 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 23 novembre 2012 6
11 mars 2011 à 03:40
J'ai lu que ça pouvait ressembler à ça:

Select Id, contenu From MaTable ORDER BY Id DESC

Mais comment l'intégrer? si ça correspond...

-------------------------------------------------------------------------------------------------------
"Il ne suffit pas d'engranger les récoltes du savoir, encore faut-il accepter de les offrir pour s'agrandir ensemble." [Jacques Salomé]
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
11 mars 2011 à 11:01
Modifie cette ligne:
$sql = "SELECT contenu FROM TABLE"; 

en
$sql = "SELECT contenu FROM TABLE ORDER BY id DESC"; 


Quand tu affiches du code, utilises les balises prévu pour ça comme je viens de le faire. ça facilite la lecture.
Exemple:
<code>Ton code</code>
0
little_bouddah
11 mars 2011 à 13:53
Merci de ta réponse.
Je vais essayer ta proposition ce soir.
En revanche pour tes recommandations sur le code je ne suis pas certain de saisir.
Tu veux bien prendre ma ligne en exemple pour que je puisse comparer?
Merci
0
little_bouddah Messages postés 95 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 23 novembre 2012 6
12 mars 2011 à 13:37
Merci, ça fonctionne,

Mais je n'ai pas saisi ton conseil pour le code...

-------------------------------------------------------------------------------------------------------
"Il ne suffit pas d'engranger les récoltes du savoir, encore faut-il accepter de les offrir pour s'agrandir ensemble." [Jacques Salomé]
0
little_bouddah Messages postés 95 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 23 novembre 2012 6
18 mars 2011 à 17:29
Bonjour,
une question complémentaire...
Et si je souhaite ajouter l'envoi d'image avec...
où me conseillez-vous d'aller voir?
car je ne trouve rien de satisfaisant...
Merci par avance.
-------------------------------------------------------------------------------------------------------
"Il ne suffit pas d'engranger les récoltes du savoir, encore faut-il accepter de les offrir pour s'agrandir ensemble." [Jacques Salomé]
0
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
19 mars 2011 à 13:58
Il y a 2 façon de voir les choses: soit tu utilises des images déjà téléchargé sur internet, soit tu veux en télécharger de ton ordi sur internet.
On va faire simple, on va dire que l'image est déjà téléchargé sur internet...
dans ce cas, il faut seulement ajouter un chp dans ta table, le remplir d'une adresse url des images par unité.

Au final, il ne faudra que modifier ceci:

echo '<b>'.$data['contenu'].'</b>';


par:

echo '<b>'.$data['contenu'].'</b><img src="'.$data['image'].'"><br>';


Pour t'aider un peu sur ta présentation voici ce qu'est du html:
Une page html s'écrit comme ca:
<html>
 <head>
Partie 1: Insérer les infos qui serviront pour retrouver le site par ex sur internet balises <meta> entre autre...
 </head>
<body>
Partie 2 : Insérer ici les infos qui seront imprimés à l'écran
</body>
</html>


C'est dans la partie 2 que l'on va essentiellement travailler:
le plus simple pour toi, je pense que c'est encore les <table> balise qui fabrique les tableaux:

<table> 
 <tr>
  <td> ligne 1 colonne 1 </td>
  <td> ligne 1 colonne 2 </td>
  <td> ligne 1 colonne 3 </td>
 </tr>

 <tr>
  <td> ligne 2 colonne 1 </td>
  <td> ligne 2 colonne 2 </td>
  <td> ligne 2 colonne 3 </td>
 </tr>
</table>


Je pense qu'après, tu comprendras vite le truc.
revenons à ta ligne :

echo '<b>'.$data['contenu'].'</b>';

Le php n'est traité que sur le serveur. Il sert en gros à créer un fichier temporaire html que ton navigateur (IE ou firefox) puisse lire, sachant que ce dernier ne comprend que le langage html pas le php. Donc, ce fichier temporaire, il faut l'écrire comme un fichier html:

echo "<html><head></head><body>Partie n°2</body></html>";


Une page blanche va alors être envoyé au navigateur.
Reste alors à remplir la page avec les infos de ta table:

echo "<html><head></head><body>";

echo "<table><tr><td>Message</td><td>Image</td></tr>";
// Boucle pour faire un tour pour chaque enregistrement 
while($data = mysql_fetch_array($req)) 
{ 
// Affichage des informations de l'enregistrement en cours dans une ligne du tableau
echo '<tr><td><b>'.$data['contenu'].'</b></td><td><img src="'$data['image'].'"></td></tr>';
} 

echo "</body></html>";



Bref, voici alors ton fichier en entier:

<?php
// Connexion à MySQL
$db = mysql_connect('SQL', 'TABLE', 'MDP');

// on selectionne la base
mysql_select_db('TABLE',$db);

// Création de la requete SQL
$sql = "SELECT contenu FROM TABLE";

// Envoi de la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

echo "<html><head></head><body>";

echo "<table><tr><td>Message</td><td>Image</td></tr>";
// Boucle pour faire un tour pour chaque enregistrement
while($data = mysql_fetch_array($req))
{
// Affichage des informations de l'enregistrement en cours dans une ligne du tableau
echo '<tr><td><b>'.$data['contenu'].'</b></td><td><img src="'$data['image'].'"></td></tr>';
}

echo "</body></html>";

// Fin de connexion à mysql
mysql_close();
?>
0