Page 1 sur 1

Faire du PHP, je veux ! mais ...

Posté : 16 oct. 2010, 19:48
par Ramon
Bonjour a tous,
je viens vous voir car je veux comprendre les bases du PHP (surtout faire un site perso avec) mais les onglets de Firefox sur les tutoriels s'accumule et cela provoque un grand marasme au fond de mon être ...

donc "imaginez que je suis un peu bête ..." je vais vous expliquer mes divers incompréhensions.

voila mon site http://www.felixramon.com
Oui je sais il est magnifique mais je voudrais que tout ces donnés puissent ce rentrer grace a un formulaire qui serait par exemple http://www.felixramon.com/admin.php protégé par un mot de passe
Cela je pense et assez simple, la ou les fameux onglets s'accumulent c'est sur la notion de base de donnée, je voudrais donc pourvoir entré dans mon panneaux de configuration :

Pour la page 1 (la page de liens)

- Titre de la catégorie des liens :
1 colonne

- Nom du lien :
- Choix du titre :
- Descriptif :

2 colonnes

Pour la page 2 (la page de ma biographie)

- Année :
1 colonne

- Nom de l'evement :
- Pays/Ville :
- Choix de l'année :
- Descriptif :
- Photo :

4 colonne (pour le niveau photo je suis vraiment loin d'espéré y arriver ...)

Si je comprend bien il me faut donc 4 bases de donnée, 1 par couleur.
avec chacun un nombre de colonne variable
(dites moi si je me trompe, bien entendu)

et il faudra aussi les deux listes ou je pourrais supprimer un élément choisi

et la je ne comprend plus rien car je me retrouve dans mon PhpMyAdmin face a des questions type "Aucun index n'est défini!" et environ deux million de bouton dont je ne sais quoi faire ...
J'ai mis toutes mes BD en "text" et non en "varchar" je ne sais pas trop bien qu'est ce qui est le mieux ...

En faite je ne sais vraiment pas par ou commencer.
Je ne comprend pas comment faire le lien entre ma page admin.php le serveur SQL et la page index ...
Je ne veux en aucun cas avoir la solution toute faite, mais si quelqu'un avait un peu de temps (peut être même sur skype) pour m'aider cela serait fantastique !

Par ou commencer ! Faut-il une base de donnée, je ne suis même pas sur ...


Merci infiniment !

Re: Faire du PHP, je veux ! mais ...

Posté : 16 oct. 2010, 20:14
par xTG
Ce que tu souhaites faire est une sorte d'espace membre à un utilisateur.
Voici un excelent tutorial qui va te mener pas à pas vers la solution : faq-tutoriels/inscription-connexion-dan ... 42539.html

Ensuite pour ce que tu souhaites cela ne se compte pas en base de données (on n'en utilisera qu'une seule) mais en nombre de table pour répartir les données.

Prenons l'exemple des liens.
Il te faut une catégorie et une liste de liens pour une catégorie.
Cela revient à faire deux tables, l'une pour lister les catégories et une pour les liens.
La table catégorie doit posséder une clé primaire, c'est un index qui identifie l'enregistrement de façon unique (c'est obligatoire pour chaque table). Nous allons utiliser un simple numéro dans notre cas, puis il faut le nom de la catégorie.
Donc une table : CATEGORIE(id_cat, nom_cat)

Allons vers la table des liens maintenant, il faut de même un identifiant unique, il nous faut un lien nous rattachant à la catégorie. On appelle ce dernier élément une clé étrangère, nous allons lié ce champ à la clé primaire de la table catégorie. Et enfin le lien.
Donc : LIEN(id_lien, id_cat, lien)

Pas le temps d'en dire plus malheureusement pour le moment, quelqu'un prendra peut être la suite. :)
Mais toujours est-il que tu manques cruellement de bases à ce que je vois. Je te conseillerai de te pencher sur des tutoriaux créant des structures (système de news, de commentaires ou bien de création d'espace membres) afin de mieux appréhender le langage. Après tu seras à même de réutiliser les connaissances pour faire ce que tu souhaites sur ton site.

Re: Faire du PHP, je veux ! mais ...

Posté : 16 oct. 2010, 22:45
par Ramon
Merci c'est fantastique,

je pense que je vais quand même faire plus simple pour la notion d'espace membre juste plutôt quelque chose dans le style (je ne sais pas si ce code est tres propre mais bon ...)

<?php
$password = "xxxxx";
if ($_POST['txtPassword'] != $password) {
?>


<form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

<p>

<label for="txtpassword">Admin :</label>
<input type="password" name="txtPassword" maxlength="7" size="7" class="formulaire" />


<?php
}



else

?>
{


<?php
}
?>

Re: Faire du PHP, je veux ! mais ...

Posté : 17 oct. 2010, 00:05
par xTG
Cela peut être une base oui.
Lors de la réception du bon mot de passe tu démarres une session et tu places une variable de session à une certaine valeur pour valider le fait que l'administrateur est connecté.
Et toutes les pages de ton administration devront vérifier cette variable de session avant de s'afficher.

Tutorial sur les sessions : http://phpdebutant.org/article69.php
On peut faire plus simple bien sûr, ce dernier utilise une base de données pour les informations, mais on peut les prendre directement du formulaire et les comparer à des valeurs en dur dans le code.

Re: Faire du PHP, je veux ! mais ...

Posté : 22 oct. 2010, 16:38
par Ramon
bon, j'avance a petit pas mais je ne desespere pas, voila que j'ai reussis a faire cela
<html><title>EXTERIOR</title>
<body>

This data base lists diverse satellites orbiting around my work,<br>
This list is not exhaustive and can be sometimes taken away, see even, have oppositions between the various data.<br>
For any information or links not existing any more, do not hesitate to send a message to [email protected]<br>
You can see events in whom I participated here.<br>
<br>

<table>
<tr><td></td></tr>
<?php
$id_connexion=mysql_connect(xxxx) or
die("Impossible de se connecter : " . mysql_error());
mysql_select_db("felixramondb",$id_connexion);

$requete = "SELECT * FROM `LIEN` WHERE 1";
$resultat=mysql_query($requete,$id_connexion);

while ($tableau=mysql_fetch_array($resultat,MYSQL_ASSOC))
{
echo '<tr><td>',$tableau['lien'],'</td></tr>';
}
?>
</table>
</body>
</html>
Que l'on peux voir ici : http://www.felixramon.com/ext.php

maintenant je voudrais que mes liens soit de vrai liens mais là je ne vois pas ou je dois insérer ce genre d'information, en d'autres termes
je voudrais que les adresses html soit reconnu ...

Re: Faire du PHP, je veux ! mais ...

Posté : 22 oct. 2010, 17:32
par moogli
lu,

dans la boucle au lieu de echo '<tr><td>',$tableau['lien'],'</td></tr>'; utilise la balise html <a
<?php
echo '<tr><td><a href="',$tableau['lien'],'">'',$tableau['lien'],'</a></td></tr>';
?>
@+

Re: Faire du PHP, je veux ! mais ...

Posté : 24 oct. 2010, 13:19
par Ramon
je ne comprend pas bien ce que tu me propose comme solution,
quand je fais cela mes balises html ne sont plus reconnu ...
Il n'y a pas une erreur dans ton bout de code ?

Re: Faire du PHP, je veux ! mais ...

Posté : 24 oct. 2010, 15:35
par Ryle
Il y a une apostrophe en trop dans son code, il te suffit de la retirer (après l'avoir trouvée ;)) et ça fonctionnera :)

Re: Faire du PHP, je veux ! mais ...

Posté : 24 oct. 2010, 16:24
par Ramon
echo '<tr><td><a href="',$tableau['lien'],'">',$tableau['lien'],'</a></td></tr>';

merci !

Re: Faire du PHP, je veux ! mais ...

Posté : 24 oct. 2010, 16:52
par Ramon
bon je comprend de plus en plus !

maintenant je voudrais entrer mes donnée grâce a un petit formulaire sur une autre page qui serait protégé par un mot de passe
Je m'embrouille sur ou placer le code qui permettrait d'affiche le formulaire que si le bon code a été utilisé ...

Je ne comprend pas non plus a quel moment il faut fermer les balise php et d'autres moments les reouvrir ...

<body>
</body>
</html>


<?php
$password = "xxx";
if ($_POST['txtPassword'] != $password) {
?>


<form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

<p>

<label for="txtpassword">Admin :</label>
<input type="password" name="txtPassword" maxlength="7" size="7" class="formulaire" />


<?php
if
{
$id_connexion=mysql_connect(xxx) or
die("No DB connection : " . mysql_error());
mysql_select_db("felixramondb",$id_connexion);
if ($lien!="")

$requete = "
insert into carnet (lien)  
values ('$lien')";
$ok=mysql_query($requete,$id_connexion);
if ($ok){echo 'Requête exécutée';} 
else {echo 'Impossible d\'exécuter cette requête...';}
}


else
{echo 'Impossible d\'exécuter cette requête...';}

?>



<form action="insertion.php" method="post">
lien : <input type="text" name="lien"><br>
<input type="submit" value="valider"><br>
</form>
</body>
</html>
merci !

Re: Faire du PHP, je veux ! mais ...

Posté : 07 nov. 2010, 21:16
par Ramon
J'ai beaucoup avancé grâce a vous,
je suis maintenant entrain de tenter de faire du upload d'image avec un formulaire ...

voila mon code, je m'embrouille dans la partie "move_upload_file" je ne suis pas sur d'être sur la bonne piste,
c'est surtout au niveau de ma BDD mysql je n'arrive pas a savoir combien de colonne je dois faire pour les images (sachant que je voudrais pouvoir en uploader 3 en même temps) comment faire pour qu'il fasse automatiquement l'incrémentation par 3 ???


<?php

$id_connexion=mysql_connect("xxxxx") or die ("No DB connection : " . mysql_error());
mysql_select_db("felixramondb",$id_connexion);

$titre = $_POST['titre'];
$lieu = $_POST['lieu'];
$date = $_POST['date'];
$description = $_POST['description'];
$photo1 = $_POST['photo1'];
$photo2 = $_POST['photo2'];
$photo3 = $_POST['photo3'];

$requete = "INSERT INTO works (id_work, titre, lieu, date, description, id_photo1, id_photo2, id_photo3) VALUES ('', '$titre', '$lieu', '$date', '$description', '$photo1', '$photo2', '$photo3')";
$ok = mysql_query($requete,$id_connexion);



$uploads_dir = '/photo_works';  
foreach ($_FILES["photo1"]["error"] as $key => $error) 
{ 
    if ($error == UPLOAD_ERR_OK) 
	
	{ 
       $tmp_name = $_FILES["photo1"]["tmp_name"][$key]; 
       $name = $_FILES["photo1"]["name"][$key]; 
       move_uploaded_file($tmp_name, "$uploads_dir/$name"); 
    }  
}  




	if ($ok)
	
		{
			echo 'Requête exécutée';
			sleep(5);
			?>
			<meta http-equiv="refresh" content="0;URL=http://www.felixramon.com/admin_int.php">
			<?php
		} 
		
	else 
		
		{
			echo 'Impossible d\'exécuter cette requête...';
		}
?>

Re: Faire du PHP, je veux ! mais ...

Posté : 08 nov. 2010, 01:51
par AB
Oh oui j'adore :D
je pense que je vais quand même faire plus simple pour la notion d'espace membre...
Alors là c'est un très mauvais choix :twisted:

Déjà parce que le code est fonctionnel (t'as plus qu'à faire un copié collé), mais surtout parce que ce qui est expliqué donne les bases minimum indispensables pour ce que tu veux faire par la suite : "...maintenant je voudrais entrer mes donnée grâce a un petit formulaire..."

Donc si tu voulais bien passer par la case départ tu aurais une meilleure progression avec au passage un espace d'authentification déjà au point.


Pour ce qui est de l'upload de fichier il y a un tuto ici et une classe ici (code prêt à l'emploi)

Concernant le shéma de ta table, ta méthode n'est pas souple car il faut que tu soit certain de n'avoir que trois images, et si jamais tu en avais besoin de plus par la suite... ? Le plus souple serait de faire une seconde table pour enregistrer tes images avec un identifiant qui lierait les deux tables.