Précédent   Forum des professionnels en informatique > PHP > Scripts
Scripts Forum d'entraide sur les scripts PHP téléchargés. Les meilleurs scripts PHP, la FAQ scripts PHP, toutes les FAQ PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/06/2011, 09h28   #1
 
Homme jessy elter
salarié
Inscription : mars 2011
Messages : 55
Détails du profil
Informations personnelles :
Nom : Homme jessy elter
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : salarié
Secteur : Alimentation

Informations forums :
Inscription : mars 2011
Messages : 55
Points : -1
Points : -1
Par défaut Probleme insertion image BDD / php

Bonjour voila j'ai un code ou je choisis une image et grâce au code il la renomme au nom que j'ai indiquée + la saison. Voici le code php

Code :
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
 <?php   // Traitement d'ajout des équipes
    if( isset($_POST['envoyer']) && empty($_POST['edition']))
    {
 
        if( !empty($_POST['nom']) && !empty($_POST['saison']) )
        {
            $nom = htmlspecialchars(addslashes(trim($_POST['nom'])) );
            $saison = htmlspecialchars(addslashes(trim($_POST['saison'])) );
			$tmp_file = $_FILES['equipe']['tmp_name'];
 
        // on vérifie maintenant l'extension
        $type_file = $_FILES['equipe']['type'];
 
        if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') )
        {
        }
 
        // on copie le fichier dans le dossier de destination
        $name_file = str_replace(' ','_',strtolower($nom.'_'.$saison));
        $dir_upload = "../photo_joueur/";
 
        if( !move_uploaded_file($_FILES['equipe']['tmp_name'], $dir_upload . $name_file.'.jpg') )
        {
        }
 
             $url_photo = $name_file.'.jpg';
            // si le formulaire est valide on met en session le message de confirmation
            $_SESSION['msg_valid'] = $lg_fr['msg_valid']['regist_data'];
 
            // On Ajoute dans la table
            ajoutEquipe($nom, $saison, $url_photo);
 
            // On redirige vers l'url d'ajout du formulaire
            $uri = _ADMIN_URL.'index.php?page=equipe&ajout=equipe';
            header('Location: '.$uri);
 
        }
        else
        {
 
            $msg_error[] = $lg_fr['msg_error']['allfield'];
 
        }
    }?>
Donc enfaite je voudrais que si j'ai pas choisis de photo il enregistre dans ma base de donnée rien donc NULL
Voici ma declaration d'ajout pour la BDD

Code :
1
2
3
4
5
6
7
8
9
10
11
 
<?php   // ajoute une équipe dans la base de donnée
    function ajoutEquipe($_name, $_saison, $_photo=null)
    {
        ConnectionDb();
 
        $sql = "INSERT INTO equipe (equ_id, equ_name, equ_season, member_photo_url) VALUES ('', '".$_name."', '".$_saison."', '".$_photo."')";
 
        mysql_query($sql);
 
    }?>
Car quand j'envoi avec rien selectionné comme photo il m'enregistre dans ma base de donnée quand meme le nom du fichier '$nom.'_'.$saison'
Je viens de voir que cela viendrait de la ligne 26
$url_photo = $name_file.'.jpg';

Mais je suis pas sur
Merci d'avance
jesaye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 09h43   #2
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
Par défaut Peut être

Bonjour, je viens de regarder un peu ton code. je constate que tu test si $_POST['$nom'] existe (d’ailleurs je pense que isset et plus approprié que !empty mais bon c'est vrai que c'est pareil).

Pourrais tu nous dire ce que contient cette variable dans ton cas? Il faudrait peut être utilisé un test sur cette partie une fois que tu as testé son existence?

Je pense aussi que ton erreur pourrait venir de la ligne 19 mais bon à voir.

Par contre je ne vois pas l'utilité de renseigner NULL dans ta BDD, pourquoi tout simplement tu ne l'enregistre pas?
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 10h07   #3
 
Homme jessy elter
salarié
Inscription : mars 2011
Messages : 55
Détails du profil
Informations personnelles :
Nom : Homme jessy elter
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : salarié
Secteur : Alimentation

Informations forums :
Inscription : mars 2011
Messages : 55
Points : -1
Points : -1
donc enfaite j'ai un formulaire dans la premiere page
ou je renseigne 2 inputs
Nom
Saison
et ensuite un tmp_file pour choisir la photo sur mon ordinateur
donc mes Post recuperer la valeur de nom et saison.

Enfaite le problème quand je vais enregistrer le nom de mon équipe j'aurais pas de suite la photo c'est seulement vers le milieu de saison.

Pas obliger d'enregistrer NULL en cas si il y a rien mais ne rien enregistrer si j'ai rien selectionné car ensuite j'ai une page qui affiche toute les équipe et j'ai fait une condition que si URL photo ==0 on affiche un message 'Pas de photo' et le probleme avec le code ci dessous il enregistre le nom+saison de mes post alors que j'ai pas choisis de photo et l'enregistre dans ma base de donnée. Ensuite sur ma page listing equipe sur la ligne que je viens d'ajouter j'ai pas ma fonction qui marche car il croit qu'il y a une photo et m'affiche un carre blanc pour l'apercu de la photo.
Je sais pas si je suis arriver à bien expliquer
jesaye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 10h19   #4
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
De ce que j'ai compris, ca t'enregistre une photo même si tu en as pas renseigner. Pour ca tu devrais effectuer un test à la ligne 26 du genre

Code :
1
2
3
4
5
6
7
8
9
 
if($tmp_file == NULL)
{
     $url_photo = NULL;
}
else
{
     $url_photo = $name_file.'.jpg';
}
Il faudrait vérifier ce que te renvoies $tmp_file lorsque tu ne renseignes pas de photo. C'est peut être pas NULL mais "", à voir.

Ensuite tu voudrais ne pas afficher de photo s'il n'y en a pas. Pour ca je vois encore un test, si dans ta base le champ photo = NULL alors j'affiche une image par défault (un peu comme facebook lorsque tu n'as pas de photo de profil).

J'espère que ce que je t'ai dis répond à ta question...
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 10h26   #5
 
Homme jessy elter
salarié
Inscription : mars 2011
Messages : 55
Détails du profil
Informations personnelles :
Nom : Homme jessy elter
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : salarié
Secteur : Alimentation

Informations forums :
Inscription : mars 2011
Messages : 55
Points : -1
Points : -1
Merci mon héros le sujet est résolu
jesaye est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h25.


 
 
 
 
Partenaires

Hébergement Web