IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Création d'une galerie web


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut Création d'une galerie web
    Bonjour à tous !
    Voilà, je suis actuellement étudiant dans un IUT et je dois créer un site internet en PHP et SQL sur le thème d'une galerie web. Mais voilà, malgré les cours qu'on a eu, je suis paumé dans la programmation PHP et SQL et j'aurais besoin de beaucoup d'aide à ce niveau. Je tiens à préciser que ce n'est pas à but commercial puisque le résultat ne sera jamais hébergé sur internet ni où que ce soit, c'est purement pour moi et seulement moi. Je suis prêt à mettre en citation tout mon code PHP afin que vous puissiez me dire ce que je dois faire ou améliorer pour mener à bien mon projet.
    Pour info, j'utilise un portableWebKit avec Firefox, Movamp et phpmyadmin.
    J'aimerais tout d'abord savoir si vous serez là pour m'aider, je vous en serais reconnaissant si j'avais des réponses positives ^^.

    Merci d'avance à tous !
    Romain.

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    salut Romain.
    malgré les cours qu'on a eu, je suis paumé dans la programmation PHP et SQL
    => je te comprends, nous comme cours, on a eu "<?php et ?> pour le php, mysql_connect() et mysql_select_db()" puis.... debrouillez vous ..."ok, merci"
    J'aimerais tout d'abord savoir si vous serez là pour m'aider
    => si c'etait pas le cas, ce forum n'existerait pas xD
    Je suis prêt à mettre en citation tout mon code PHP afin que vous puissiez me dire ce que je dois faire ou améliorer pour mener à bien mon projet.
    => lache toi, montre nous tout =D
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Merci beaucoup ^^
    Je vais donc me dépêcher de mettre tous mes fichiers en citation (je dois bientôt partir alors il y a des risques à ce que je ne puisse pas tout mettre maintenant...). J'éditerais au fur et à mesure !

    Code config.inc.php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <?php
     
    function connect_bd()
    {
    	$server = "localhost:3307";
    	$user = "root";
    	$password = "";
    	@mysql_connect($server, $user, $password) 
    			or die('Echec de connexion à la base'.mysql_error());
    	@mysql_select_db("galleryweb") 
    			or die('Echec de sélection de la table'.mysql_error());
    }
     
    ?>

    Code inscription.php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
    <?php
     
    require_once "config.inc.php";
     
    if (isset($_POST['envoyer']))
    {
    	if ($_POST['mdp']==$_POST['mdp2'] AND !empty($_POST['login']) AND !empty($_POST['mdp']) AND !empty($_POST['mail']))
    	 {
    		connect_bd();
    		//$count=mysql_query("SELECT * from user where login='$_POST[login]'");
    		//$count2=mysql_num_rows($count);
    			//if ($count==0)
    			//{
    			mysql_query("INSERT INTO user VALUES (default, '$_POST[login]', sha1('$_POST[mdp]'), '$_POST[nom]', '$_POST[prenom]', '$_POST[mail]')");
    			mysql_close();
    			header('location:login.php');
    			//}
    			//else 
    			//{
    			//$msg5="Pseudo déja utilisé!";
    			//}
    	 }
     
    	if (isset($_POST['envoyer']))
    	 { if (empty($_POST['login']))
    	   {
    	    $error=$error['login'];
    	    $msg1="<h4>Login absent !</h4>\n";
    	   }
    	 }
    	if (isset($_POST['envoyer']))
    	 { if (empty($_POST['mdp']))
    	   {
    	    $error=$error['mdp'];
    	    $msg2="<h4>Mot de Passe absent !</h4>\n";
    	   }
    	 }
    	if (isset($_POST['envoyer']))
    	 { if (empty($_POST['mail']))
    	   {
    	    $error=$error['mail'];
    	    $msg3="<h4>Mail absent !</h4>\n";
    	   }
    	 }
    	if (isset($_POST['envoyer']))
    	 { if ($_POST['mdp']!=$_POST['mdp2'])
    	   {
    	    $error=$error['mdp'];
    	    $msg4="<h4>Confirmer votre Mot de Passe !</h4>";
    	   }
    	 }
    }
     
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" charset="utf-8">
    <head><title>Page d'inscription</title></head>
    <body>
    <?php
    echo $msg1,$msg2,$msg3,$msg4,$msg5;
    ?>
    <h1><center>Inscription d'un nouveau membre</center></h1>
    <h6>*champs obligatoires</h6><BR>
    <form action='' method="post">
    <p>Login* : <input type="text" name="login"></p><BR>
    <p>Mot de passe* : <input type="password" name="mdp">
    Confirmation* : <input type="password" name="mdp2"></p><BR>
    <p>Nom : <input type="text" name="nom"> 
    Prénom : <input type="text" name="prenom"></p><BR>
    <p>Mail* : <input type="text" name="mail"></p><BR>
     
    <input type="submit" name="envoyer" value="S'inscrire">
    </form>
     
    </body>
    </html>

    Code login.php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    <?php
     
    require_once "config.inc.php";
     
    if (isset($_POST['inscription']))
    {
    header('location:inscription.php');
    }
     
    if (isset($_POST['envoyer']))
    	{
    	connect_bd();
    	$test=mysql_query("SELECT * from user where login='$_POST[login]' && mdp=sha1('$_POST[mdp]')") 
    		or die('Echec de connexion à la base : '.mysql_error());
    	$test2=mysql_num_rows($test);
    		if ($test2==1)
    		{
    		session_start();
    		$_SESSION['login']=$_POST['login'];
    		$_SESSION['id_user']=mysql_result($test,0,0);
    		header('location:gallery.php');
    		}
    		else
    		{
    		$msg6="<h4>Erreur de login ou mot de passe !</h4>\n";
    		}
    	}
     
    ?>
    <!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="en" lang="en" charset="utf-8">
    <head><title>Espace Membre</title></head>
    <body>
    <?php 
    echo $msg6;
    ?>
    <h3><center>Veuillez vous identifier</center></h3>
     
    <form action='' method="post">
    <p>Login : <input type="text" name="login">
    Mot de passe : <input type="password" name="mdp">
    <input type="submit" name="envoyer" value="S'identifier"></p><BR>
    </form>
    <form action='' method="post"><BR>
    <input type="submit" name="inscription" value="Inscription">
    </form>
     
    </body>
    </html>

    Code lib.inc.php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    session_start();
    if (!isset($_SESSION['login'])) header("Location: login.php");
    //session_unset();
    ?>

    Code gallery.php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    <?php
    require_once "lib.inc.php";
    require_once "config.inc.php";
    if (isset($_POST['logout'])) 
    	{	 
    		header("location: logout.php");
    	}
     
    		if (isset($_POST['up_photo'])) 
    	{	 
    		header("location: upload.php");
    	}
     
    connect_bd();
    $req = mysql_query('SELECT * FROM photo WHERE id_user="3"');
     
     
     
    while($info = mysql_fetch_row($req))
    	{
    		$id_photo = $info[0];
    		$id_user = $info[1];
    		$titre = $info[2]; 
    		$desc= $info[3]; 
    		$date = $info[4];
    		$nom_fichier = $info[5];
    		echo "$id_photo -$id_user -$titre -$desc -$date -$nom_fichier <br />";
    	}
     
     
    //mysql_close();
     
    ?>
     
    <!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="en" lang="en">
    <head>
      <title>Gallery</title>
      <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    	<meta http-equiv="Content-Style-Type" content="text/css" />	
    </head>
     
    <body>
     
    <?php
        echo "<p>Bienvenue dans votre gallery !<p>";
    ?>
     
    <form action="" method="post" enctype="multipart/form-data">
    <p><input type="submit" name="up_photo" value="Uploader">
    </form>
     
     
     
    <FIELDSET style="width:360px;"> 
    <LEGEND align=top> Informations de la photo à uploader </LEGEND>
    <form action="" method="post" enctype="multipart/form-data">
    <p>Titre: <input type="text" name="titre photo" size="40"></p>
    <p>Description : <br><textarea name="desc_photo" cols="35" rows="5">
    </textarea>
    <p><input type="file" name="up_photo" size="40">
    <p><input type="submit" value="Uploader">
    </FIELDSET>
    </form>
     
    <form action='' method="post"><BR>
    	<input type="submit" name="logout" value="Deconnexion">
    </form>
     
    </body>
    </html>

    Code logout.php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    session_unset();
    header("location: login.php");
    ?>
    Je crois que c'est tout ! Je reviens un peu plus tard !
    Si y a des erreurs ou quoi que ce soit, n'hésitez pas à faire signe ^^

  4. #4
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    je vais voire ca
    (les balises 'code' auraient ete mieux >_<)
    edit : c'est quoi ton code sql (pour les tables ?)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Désolé pour les quotes, je savais même qu'il existait un tag pour le code...
    Sinon, qu'entends-tu par code sql ? Le code qui a créé les tables de ma base de données ?

  6. #6
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    Bonsoir,

    Je te conseille d'aller lire ceci
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  7. #7
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    bah oui, c'est pas le code sql pour aller faire mes courses =)
    sinon, je suis en train de modifier tes petites erreurs (en attendant ton sql^^)
    je te ferais un zip ce sera plus simple
    ah, crotte, Deallyra a raison...et a poste pendant que j'ecrivais mon post
    je te laisse regarder son lien...
    j'ai pas encore le reflexe de rediriger >_<
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Merci pour le lien Deallyra, je jette un bon coup d'oeil dessus même si je préfère avoir des personnes qui répondent pour apprendre plutôt qu'un tuto qu'il "suffit" de lire. Ca reste très intéressant tout de même ^^

    Sinon voici ma liste de courses... heu mon code SQL.

    Code SQL BDD : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    -- phpMyAdmin SQL Dump
    -- version 2.11.0
    -- http://www.phpmyadmin.net
    --
    -- Serveur: localhost:3307
    -- Généré le : Sam 03 Janvier 2009 à 19:21
    -- Version du serveur: 4.1.22
    -- Version de PHP: 5.2.3
     
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
     
    --
    -- Base de données: `galleryweb`
    --
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `commentaire`
    --
     
    CREATE TABLE IF NOT EXISTS `commentaire` (
      `id_commentaire` int(11) NOT NULL auto_increment,
      `id_photo` int(11) NOT NULL default '0',
      `id_user` int(11) NOT NULL default '0',
      `titre` varchar(40) collate utf8_unicode_ci NOT NULL default '',
      `date` date NOT NULL default '0000-00-00',
      `texte` text collate utf8_unicode_ci NOT NULL,
      PRIMARY KEY  (`id_commentaire`),
      KEY `id_user` (`id_user`),
      KEY `id_photo` (`id_photo`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
     
    --
    -- Contenu de la table `commentaire`
    --
     
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `photo`
    --
     
    CREATE TABLE IF NOT EXISTS `photo` (
      `id_photo` int(11) NOT NULL auto_increment,
      `id_user` int(11) NOT NULL default '0',
      `titre` varchar(40) collate utf8_unicode_ci NOT NULL default '',
      `description` text collate utf8_unicode_ci NOT NULL,
      `date` date NOT NULL default '0000-00-00',
      `nom_fichier` varchar(40) collate utf8_unicode_ci NOT NULL default '',
      PRIMARY KEY  (`id_photo`),
      KEY `id_user` (`id_user`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=112 ;
     
    --
    -- Contenu de la table `photo`
    --
     
    INSERT INTO `photo` (`id_photo`, `id_user`, `titre`, `description`, `date`, `nom_fichier`) VALUES
    (1, 3, 'La vie au grand R', 'Un beau paysage !', '2008-10-21', 'tm.jpg'),
    (111, 4, 'gretegre', 'gzetgretre', '2008-10-15', 'th.jpg');
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `user`
    --
     
    CREATE TABLE IF NOT EXISTS `user` (
      `id_user` int(11) NOT NULL auto_increment,
      `login` varchar(40) collate utf8_unicode_ci NOT NULL default '',
      `mdp` varchar(40) collate utf8_unicode_ci NOT NULL default '',
      `nom` varchar(40) collate utf8_unicode_ci NOT NULL default '',
      `prenom` varchar(40) collate utf8_unicode_ci NOT NULL default '',
      `mail` varchar(40) collate utf8_unicode_ci NOT NULL default '',
      PRIMARY KEY  (`id_user`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;
     
    --
    -- Contenu de la table `user`
    --
     
    INSERT INTO `user` (`id_user`, `login`, `mdp`, `nom`, `prenom`, `mail`) VALUES
    (3, 'Mickael', 'eb3c105ad8cd86bfd95733d7f85e279af00eb940', '', '', 'mickael@hotmail.fr'),
    (4, 'Thomas', '5f50a84c1fa3bcff146405017f36aec1a10a9e38', '', '', 'thomas@hotmail.fr'),
    (5, 'Romain', 'b8aabb4b95c817d9df69b6be95b2b94d6b1efe17', '', '', 'romain@hotmail.fr'),
    (6, 'Rominet', 'e56a2a3a3be1c63c53d92da220b524d49214f14a', 'Groulez', 'Romain', 'Romanodi13@gmail.com');
     
    --
    -- Contraintes pour les tables exportées
    --
     
    --
    -- Contraintes pour la table `commentaire`
    --
    ALTER TABLE `commentaire`
      ADD CONSTRAINT `commentaire_ibfk_1` FOREIGN KEY (`id_photo`) REFERENCES `photo` (`id_photo`) ON DELETE CASCADE ON UPDATE CASCADE,
      ADD CONSTRAINT `commentaire_ibfk_2` FOREIGN KEY (`id_user`) REFERENCES `user` (`id_user`) ON UPDATE CASCADE;
     
    --
    -- Contraintes pour la table `photo`
    --
    ALTER TABLE `photo`
      ADD CONSTRAINT `photo_ibfk_1` FOREIGN KEY (`id_user`) REFERENCES `user` (`id_user`) ON DELETE CASCADE ON UPDATE CASCADE;


    EDIT: Voici ce que je veux faire dans un premier temps:

    La première page où on arrive est une page d'inscription (genre de galerie web privée), on remplie les champs obligatoires pour se connecter puis un mail est envoyé dans la boite mail pour la confirmation (étape pas encore commencée, pour le moment l'inscription est confirmée juste après le remplissage des champs). Une fois enregistré on envoie l'utilisateur sur la page de connexion. Il remplit les champs et se connecte. Il arrive sur la page principale de son compte, il y aura un avatar le correspondant (qu'il peut uploader quand il veut) mais aussi un script pour uploader ses propres photos. Pour le moment je n'ai pas encore d'idée pour la présentation du compmte mais je veux déjà arriver à faire tout ça. J'espère que j'ai été clair ^^

    EDIT 2: Je vais manger, je reviens juste après

    EDIT 3: Je suis de retour. Voilà précisément ce que je veux arriver à faire le plus tôt possible: J'aimerais réussir à faire uploader un "avatar" pour la personne qui se connecte pour la première fois, et aussi faire uploader une image qu'il peut trouver sur son ordinateur ou sur internet. Mais ça je ne sais pas du tout le faire... Je sais qu'il faut créer une page en php qui ferait fonctionner tout ça mais je n'ai aucune idée de comment faire ça, de quelle fonction utiliser etc...

  9. #9
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonsoir

    Citation Envoyé par Romanodi13 Voir le message
    Voilà précisément ce que je veux arriver à faire le plus tôt possible: J'aimerais réussir à faire uploader un "avatar" pour la personne qui se connecte pour la première fois, et aussi faire uploader une image qu'il peut trouver sur son ordinateur ou sur internet. Mais ça je ne sais pas du tout le faire... Je sais qu'il faut créer une page en php qui ferait fonctionner tout ça mais je n'ai aucune idée de comment faire ça, de quelle fonction utiliser etc...
    Même si tu préfère qu'on t'explique directement (je ne vois pas franchement comment expliquer tout ça directement, les tutoriels sont là pour ça...) je te propose un tutoriel : il faut créer un formulaire avec un input type="file" où le visiteur choisi son avatar, puis créer le code php qui va récupérer cette image et la placer sur le serveur...

    Pour les tutoriels sur les formulaires : http://php.developpez.com/cours/?pag...ge#formulaires, et le tutoriel t'expliquant ceci pas à pas : http://antoine-herault.developpez.co...ls/php/upload/...

    Bonne lecture
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Je vais regarder tout ça.
    Le truc que je n'arrive pas à trouver, c'est d'associer une image uploadée à la table "avatar" que j'aurais créé...

  11. #11
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    tu peut expliquer un peu plus, en particulier je ne comprends pas ce que tu entends par table "avatar" ?
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Ben en fait, l'utilisateur pourra uploader des images pour en faire profiter (ou pas ^^) tous les internautes du site. Mais ce sont seulement des images personnelles. Je veux intégrer un avatar qui lui sera propre mais indépendant de ses photos de famille. Donc j'ai créé une table "photo" qui regroupera toutes ses photos mais aussi une table "avatar" qui servira seulement à associer l'avatar à l'utilisateur et l'affichera. Je veux pouvoir associer l'image uploadée à un id_user et l'afficher dans son profil.

  13. #13
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Par table tu entends une table dans la base de données ? Si oui dans la tutoriel que je t'ai donné en lien, l'auteur utilise move_uploaded_file, celui ci prend en second paramètre la destination du fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)
    En même temps que tu utilises move_uploaded_file tu reprends le chemin de destination (ici $dossier . $fichier) et tu enregistre le résultat dans ta base de données.

    Pour ensuite afficher l'image il te suffira de récupérer cette donnée de la base et l'afficher dans une balise img...
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Ce code, je l'utilise dans la page "upload_avatar.php" ? (qui permet d'uploader l'avatar sur le profil)

    http://wall.deblan.fr/1231018996/php/1/ (j'ai fait quelques modifications en ligne 14)

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Bon je chercherais plus tard pour l'avatar car là je le sens pas.
    Voici quelque chose que j'ai fait et que j'ai oublié de montrer ici...

    Code upload.php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <?php
    require_once "lib.inc.php";
    require_once "config.inc.php";
     
    if (isset($_POST['up_photo']))
    {
    	if (!empty($_POST['titre_photo']) AND !empty($_POST['description_photo']) AND !empty($_POST['adresse_photo']))
    	 {
    		connect_bd();
    		mysql_query("INSERT INTO photo VALUES ('$_POST[titre]',  '$_POST[description]'), '$_POST[nom_fichier]')");
    		mysql_close();
    		header('location:gallery.php');
     
    	 }
     
    	if (isset($_POST['upload']))
    	 { if (empty($_POST['titre_photo']))
    	   {
    	    $error=$error['titre_photo'];
    	    $msg1="<h4>Veuillez mettre un titre !</h4>\n";
    	   }
    	 }
    	if (isset($_POST['upload']))
    	 { if (empty($_POST['desc_photo']))
    	   {
    	    $error=$error['desc_photo'];
    	    $msg2="<h4>Aucune description ! Veuillez en mettre une !</h4>\n";
    	   }
    	 }
    	if (isset($_POST['envoyer']))
    	 { if (empty($_POST['adresse_photo']))
    	   {
    	    $error=$error['adresse_photo'];
    	    $msg3="<h4>Aucune photo sélectionnée !</h4>\n";
    	   }
    	 }
     
     
    ?>

    Tout d'abord, les erreurs ne s'affiche pas quand on met rien...
    Quand je rempli tout le formulaire, rien ne s'ajoute dans ma base de données.
    J'ai aussi cette erreur:
    "Warning: Cannot modify header information - headers already sent by (output started at W:\var\www\gallery.php:1) in W:\var\www\gallery.php on line 10"

    EDIT: J'ai suivi ce tuto: http://antoine-herault.developpez.co...ls/php/upload/
    Ca marche impec, les fichiers vont dans le dossier indiqué, mais après comment le définir dans la base de données ?

  16. #16
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    Puisque tu as uploadé un fichier, tu as vérifié s'il existait, si l'upload avait fonctionné.

    C'est ce chemin d'accès au fichier avec le fichier que tu dois inscrire dans ta BdD.

    Si tout tes avatars sont dans un dossier /Avatar/, tu n'auras qu'à garder le nom du fichier (avec son extension) dans la base de données pour ton user.

    Ensuite, pour l'afficher, tu n'auras qu'à faire un img avec pour source le chemin jusqu'à /Avatar/<?php nomEtExtensionFichier; ?>

    edit, pour ton problème de header, il faut savoir qu'un header ne peut se faire que si AUCUN caractère n'a été envoyé au client, n'a été affiché. En gros, un simple espace provoquera le refus du header.
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    C'est cette partie là que je ne comprends pas...

    Si tout tes avatars sont dans un dossier /Avatar/, tu n'auras qu'à garder le nom du fichier (avec son extension) dans la base de données pour ton user.
    Je ne vois pas où le mettre justement dans la base de données, je ne sais pas quel option il faut que je prenne pour faire ce que tu dis, et ça me rend dingue...

  18. #18
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    Bonjour,

    Tu crées un champs char.

    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    User(id, pseudo)
    Avoir(idUser, idAvatar)
    Avatar(id, cheminAcces)
    Enfin je pense que c'est représenté différement en modèle logique...
    Pour les 1,1, il doit suffire de répliquer les clefs étrangères ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    User(id, pseudo, idAvatar)
    Avatar(id, cheminAcces, idUser)
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Bonjour et désolé de ces absences.

    J'ai une idée et vous pourriez me dire ce que vous en pensez.
    Je crée une nouvelle table avatar dans laquelle je mets les champs suivants:
    id_avatar
    id_user (clé étrangère)
    nom
    type
    taille
    (j'invente un peu car peut-être que ça ne sert à rien.)

    Maintenant je fais comme le tuto d'upload mais en plus je rajoute un if isset qui envoie les informations dans la nouvelle table, puis dans le html, je peux mettre un img avec un $nom (nomdelimage) et un $type (.jpg).

    Qu'en pensez-vous ?

  20. #20
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    En quoi ma solution est différente de la tienne?

    Tu as juste cassé le champs "cheminAccess"

    pour moi, il correspondrait à " /Avatar/monImage.jpg"

    Et j'avais précisé que si toutes les images étaient dans /Avatar/, qu'il correspondrait à "monImage.jpg"

    Inutile de casser tes champs ainsi... Sauf si ensuite tu veux faire des stats sur les types d'images uploadés ^^ (gif, png, jpb, bmp... )
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

Discussions similaires

  1. [Galerie] Création d'une galerie photo
    Par saith dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 12/10/2007, 16h35
  2. création d'une page web dynamique
    Par mohamed2006 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/01/2007, 15h33
  3. [SOAP][Web Service] erreur création d'une référence Web
    Par Maximil ian dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 20/06/2005, 13h29
  4. [tomcat] Création d'une application WEB
    Par bob33 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 25/10/2004, 19h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo