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 :

Probleme avec if/else


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 92
    Par défaut Probleme avec if/else
    Bonjour,

    J'ai un formulaire avec titre, photo, etc que je sauvegarde en bdd pour affichage sur site plus tard, le probleme c'est que je voudrais rendre possible l'insertion en base de donnée meme si il n'y a pas de photos, j'ai donc pensé aux if/else. Probleme ca ne fonctionne pas toujours, je m'explique, quand il n'y a pas de photo je donne la possibilité de cocher une chekbox afin de ne pas utiliser le formulaire de copie de l'image sur le serveur pour eviter de planter la page de traitement. Lorsque j'ai une photo ca marche tres bien, l'erreur arrive lorsque la chekbox est coché.

    voici mon code, empreinté a droite a gauche, modifier, etc :

    Code : 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
    mysql_connect('localhost','root','root') or die(mysql_error());
    			mysql_select_db('alize_manche') or die(mysql_error());
     
    			$titre=$_POST['titre'];
    			$nomphoto=$_POST['nom'];
    			$prearticle=nl2br(htmlspecialchars($_POST['prearticle']));
    			$article=nl2br(htmlspecialchars($_POST['article']));
    			$signature=$_POST['signature'];
    			$jour=date(l);
    			$njour=date(d);
    			$mois=date(m);
    			$annee=date(Y);
    			$heure=date(H);
    			$minute=date(i);
     
    			if(!isset($_POST['none']))
    				{
     
    					$dossier = '../../images/bdd/temoignage/';
    					$fichier = basename($_FILES['photo']['name']);
    					$taille_maxi = 100000;
    					$taille = filesize($_FILES['photo']['tmp_name']);
    					if($taille>$taille_maxi)
    					{
    						 $erreur = 'Le fichier est trop gros';
    					}
    					if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    					{
    						 //On formate le nom du fichier ici...
    						 $fichier = strtr($fichier, 
    							  'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
    							  'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    						 $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
    						 if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
    						 {
    							  echo 'Formulaire traité avec succès, cliquez içi pour revenir au site "<a href="../../accueil.php">accueil</a> ou içi "<a href="./index.php">index administration</a> pour ajouter ou supprimer d&prime;autres articles.';
    						 }
    						 else //Sinon (la fonction renvoie FALSE).
    						 {
    							  echo 'Echec de l\'upload !';
    						 }
    					}
    					else
    					{
    						 echo $erreur;
    					}		
     
     
    				mysql_query("INSERT INTO temoignage VALUE ('','$titre','$fichier','$nomphoto','$prearticle','$article','$signature')") or die(mysql_error());
    				mysql_query("UPDATE maj SET jour='$jour', njour='$njour', mois='$mois', annee='$annee', heure='$heure', minute='$minute' WHERE id='1'");
    				}
    				else
    				{
     
    				mysql_query("INSERT INTO temoignage VALUE ('','$titre','','','$prearticle','$article','$signature')") or die(mysql_error());
    				mysql_query("UPDATE maj SET jour='$jour', njour='$njour', mois='$mois', annee='$annee', heure='$heure', minute='$minute' WHERE id='1'");
    				}
    si vous pouviez m'aider a resoudre ce tout 'tit probleme, je vous en serais tres reconnaissant, j'utilise tres peu les if/else, et pour cause habituellement je code surtout en html dans lequel j'insere parfois du php.

    Merci d'avance

  2. #2
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    tu n'as pas besoin d'une checkbox pour ça... il suffit de regarder la variable globale $_FILES

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $error = 0;
    // à la place de :
    // if (isset($_POST['none'])) {
    if (isset($_FILES['nom_de_linput_file']) && !empty($_FILES['nom_de_linput_file']['tmp_name'])) {
       // Ici je fais les traitement d'upload d'image
       // on vérifiera qu'il n'y a pas de prob
       $error = 1; // disons qu'il y a eu problème
    }
    if (!$error) {
        // si pas d'erreur on a joute à la DB (si pas d'upload d'image => pas d'erreur)
        $sql = "INSERT INTO blblaa...";
    }
    ?>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 92
    Par défaut
    merci je vais voir si je m'en sors mieux avec ce code, sinon vu que ma base de données est sous mysql, je dois surement remplacer sql par mysql, non ?

  4. #4
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    non pas vraiment...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "SELECT * FROM .... /* la requete ici */";
    $q = mysql_query($sql);

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 92
    Par défaut
    ok, merci a toi, ca marche niquel, encore une fois, comme a mon habitude, j'ai voulais faire compliqué alors que ca pouvais etre tres simple.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme avec If et Else avec python 3
    Par pgu19 dans le forum Général Python
    Réponses: 6
    Dernier message: 04/09/2011, 13h37
  2. probleme avec if et else
    Par mima_mine dans le forum Struts 1
    Réponses: 2
    Dernier message: 07/08/2008, 15h26
  3. Probleme avec un "ELSE"
    Par jam92400 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/02/2007, 09h36
  4. Probleme avec la fonction IF ELSE
    Par guillaumeIOB dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 02/12/2005, 11h52
  5. [LG]Problème avec if/else.
    Par Loceka dans le forum Langage
    Réponses: 7
    Dernier message: 02/11/2004, 10h10

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