Sinon j'avais fait une initiation rapide au html/css/php/sql pour un copain il y a un moment:
C'est sûrement pas parfait mais ca permet de jouer avec et comprendre un peu les bases.
Là ca utilise les fonctions mysql_* et tant qu'a apprendre je te conseilles de passer rapidement sur PDO et de ne pas trop perdre de temps à t'habituer à des fonctions en voie d'extinction. Mais comme le fonctionnement est à peu près pareil je le mets quand même.
tu copie/colle dans un fichier index.php que tu mets dans le htdocs de ton serveur.
Je le met as-is.
Code:
<?php
/*
Fonctionne avec Xampp lite http://www.apachefriends.org/download.php?xampplite-win32-1.6.7.zip
lancer le setupxampp.bat pour adapter xampp a l'emplacement
fichiers .php dans le rep xampp/htdocs/
acces a l'administration de base de données http://localhost/phpmyadmin/
Manuels:
php_manual_fr.chm : http://uk.php.net/get/php_manual_fr.chm/from/fr.php.net/mirror
HTMLREF.CHM : http://go.microsoft.com/fwlink/?linkid=14581
refman-5.0-fr.chm (Mysql) : http://downloads.mysql.com/docs/refman-5.0-fr.chm
Requete SQL de création de la base
-- phpMyAdmin SQL Dump
-- version 2.10.0.2
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Mer 10 Septembre 2008 à 09:17
-- Version du serveur: 5.0.37
-- Version de PHP: 5.2.1
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Base de données: `exercice`
--
-- --------------------------------------------------------
--
-- Structure de la table `favoris`
--
CREATE TABLE `favoris` (
`fav_id` int(11) NOT NULL auto_increment,
`fav_titre` varchar(255) collate latin1_general_ci NOT NULL,
`fav_url` varchar(255) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`fav_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=4 ;
--
-- Contenu de la table `favoris`
--
INSERT INTO `favoris` VALUES (1, 'WebMail Free', 'http://imp.free.fr/rc');
*/
// Le fichiers index.php est affiché par defaut par le serveur
// connection a la base
$host="localhost"; //serveur Mysql
$bdd="exercice"; //base de travail
$user="root"; //login de base
$pass=""; //mot de passe de la base
$conn=mysql_connect($host,$user,$pass) or die ("impossible de se connecter au serveur SQL");
mysql_select_db ($bdd,$conn) or die ("impossible d'acceder à la Base de Donnée");
// Ajout d'un Favori
if($_POST[action] == "ajouter") // toute les valeurs renvoyé en methode post (formulaire) se retrouve dans le tableau $_POST
{
var_dump($_POST);
//traitement des variables afin d'echapper les caractères ' qui embettent au niveau de la requete
$titre = addslashes($_POST[fav_titre]);
$url = addslashes($_POST[fav_url]);
$requete="INSERT INTO favoris (fav_titre, fav_url) VALUES ('$titre', '$url')";
echo $requete; $resultat=mysql_query($requete,$conn);
echo" Ajout favoris: ";if($resultat==1) {echo"OK ";} else {echo"ERREUR ";}
}
// Suppression d'un favori
if($_GET[action] == "fav_suppr") // toute les valeurs renvoyé en methode get (dans l'url) se retrouve dans le tableau $_GET
// http://upad21/exercice/index.php?action=fav_suppr&fav_id=1
{
$requete="DELETE FROM favoris WHERE fav_id='$_GET[fav_id]'";
$resultat=mysql_query($requete,$conn);
echo" Suppr favoris: ";if($resultat==1) {echo"OK ";} else {echo"ERREUR ";}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head> <!-- Entete de la page contient divers infos sur le contenu et les liens vers les feuilles de style-->
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
<meta name="generator" content="PSPad editor, www.pspad.com"/>
<LINK REL="SHORTCUT ICON" HREF="favicon.ico">
<title>Exercice</title>
<style type="text/css" media="screen">
/* Mise en forme du contenu des balises html */
body
{
background-color: #F2F3F9 ;
color : #4D4D4D;
font-family: Georgia,serif;
font-size: 1em;
text-align: justify;
margin : 0px;
}
h1{ font-size: 2em; font-weight: bold; color: #4D4D4D; padding: 20px; text-align: center;}
h2{ font-size: 1.8em; font-weight: bold; color: #4D4D4D; padding: 5px; text-indent: 50px;}
a , a:visited, a:link {color:#808080; text-decoration:none;}
a:hover{color:#808080;text-decoration:overline;}
a:active{color:#4D4D4D;text-decoration:overline;}
input { font-family: Georgia,serif; font-size: 1em;}
/* Classe Visible qui modifiera la forme des balises td et th contenu dans les balises table quand la classe visible sera demandée
cette classe a pour but de rendre visible les contours des cellules des tableaux*/
.visible table td,th
{
border: 1px solid #808080;
padding-top: 5px;
padding-bottom: 5px;
padding-right: 10px;
padding-left: 10px;
}
</style>
</head>
<body>
<h1>Exercice</h1>
<h4>Liste des Favoris</h4>
<div class='visible'> <!-- On appele la classe visible -->
<table> <!-- Ouverture d'un tableau -->
<tr> <!-- creation d'une ligne -->
<th>Titre</th> <!-- creation d'une cellule dans cette ligne -->
<th>URL</th> <!-- creation d'une 2' cellule dans cette ligne -->
<th>Supprimer</th> <!-- le th est comme un td mais avec une mise en forme de titre -->
</tr>
<?php
$requete="SELECT fav_id, fav_titre, fav_url FROM favoris ORDER BY fav_titre ASC";
$resultat=mysql_query($requete,$conn);
while($array=mysql_fetch_array($resultat))
{ // pour chaque ligne retournée par la requete, on ajoute une ligne avec 3 cellules au tableau
echo "
<tr>
<td>" . stripslashes($array[fav_titre]) . "</td>
<td><a href='" . stripslashes($array[fav_url]) . "'>Lien</a></td>
<td><a href='index.php?action=fav_suppr&fav_id=$array[fav_id]' onclick=\"return(confirm('Supprimer $array[fav_titre]?'));\">Supprimer</a></td>
</tr>
";
// la balise <a></a> est un lien, le Javascript dans la propriete onclick permet d'afficher une confirmation.
}
?>
<tr>
<td colspan='3'>Fin du tableau</td> <!-- Colspan permet de definir le nombre de cellule à fusionner sur la ligne, Rowspan existe pour les colonnes -->
</tr>
</table>
<h4>Ajout d'un Favori</h4>
<form action='?lien=favoris' method='post' enctype='multipart/form-data' name='formulaire'>
<!-- ouverture d'un formulaire, toutes les valeurs des champs inclus dans ce formulaires seront renvoyés au serveur par la methode post (le mieux pour un formulaire) -->
<table width="100%">
<tr>
<td valign='top'>Titre</td>
<td valign='top'><input type='text' name='fav_titre' size='72' maxlength='250'></td> <!-- zone d'entrée de texte -->
</tr>
<tr>
<td valign='top'>Lien</td>
<td valign='top'><input type='text' name='fav_url' size='72' maxlength='250'></td>
</tr>
</table>
<input type='submit' name='button' value='Ajouter'> <!-- bouton d'envoie du formulaire (submit) -->
<input type='hidden' name='action' value='ajouter'> <!-- sera envoyé avec le formulaire -->
</form>
</div>
</body>
</html>
<?php mysql_close($conn);?>
Bien sur d'habitude c'est pas de bon gout de tout mettre dans le même fichier mais bon là c'est purement éducatif. Et je suis sûr que les élites du html/php/SQL vont avoir les yeux qui saignes. Mais bon, si ça peut t'aider, j'en serai ravi.