Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: poupsylo le le 03-01-2005 a 23:17:56

Titre: Probleme de logique
Posté par: poupsylo le le 03-01-2005 a 23:17:56

Bonjour à tous, je suis desoler une fois de plus de venir demander de l'aide , on va finir par croire que je ne fait rien moi meme lol , mais j'ai un petit probleme de logique , enfin je crois

Voici mon script php


Code:


$visiteur = $_POST["visiteur"] ;
$nom = $_POST["nom"] ;
$prenom = $_POST["prenom"] ;
$pseudo = $_POST["pseudo"] ;
$com = $_POST["com"] ;
$photo = $_FILES["photo"]["name"] ;
$taille = $_FILES['photo']['size'];

if($nom == "" || $prenom == "" || $pseudo == ""){
   if($nom == ""){
   echo "<p>Le champ nom est obligatoire</p>";
   }
   if($prenom == ""){
   echo "<p>Le champ prenom est obligatoire</p>";
   }
   if($pseudo == ""){
   echo "<p>Le champ pseudo est obligatoire</p>";
   }
}

else {

   if ($photo == ""){
      $sql = "update friends
      set nom = '$nom',
      prenom='$prenom',
      pseudo='$pseudo',
      com='$com'
      where id_visiteur = $visiteur " ;
      
      $ok = mysql_query($sql)
         or die ("Echec de la requête");
      echo "<p>Vos informations ont &eacute;t&eacute; mise &agrave; jour.</p>";
   }
   
   else {
         $sql = "update friends
         set nom = '$nom',
         prenom='$prenom',
         pseudo='$pseudo',
         com='$com',
         photo='$photo'
         where id_visiteur = $visiteur " ;
         
         $ok = mysql_query($sql) or die ("Echec de la requête");
         
         echo "<p>Vos informations ont &eacute;t&eacute; mise &agrave; jour.</p>";
         
         $photo = $_FILES['photo']['name'];
         $taille = $_FILES['photo']['size'];
         $tmp = $_FILES['photo']['tmp_name'];
         $type = $_FILES['photo']['type'];
         $erreur = $_FILES['photo']['error'];
         
         $nom_destination = '../images/'.$photo;
         if(!move_uploaded_file($tmp, $nom_destination)) {
         
         }
      }
}
?>


comme vous voyez j'aimerai verifier si l'utilisateur upload une photo ou non , l'ennuis c'est que ma condition


Code:
if ($photo == "")


n'est pas correcte , que l'utillisateur upload une photo ou non il passe totu de meme par cette partie et ignore le else qui suit

j'ai alors essayer ceci


Code:
if ($photo == " ")

la c'est le contraire qui se passe, cette condition est tout le temps fausse et il ne passe que par le else

alors ma question est comment verifier qu'une photo a été uploader ou non ?

j'espere que j'ai ete assez claire parce que c'est fort brouillon quand meme

merci :)

Titre: Re:Probleme de logique
Posté par: MFred le le 04-01-2005 a 00:23:14

Utilise la fonction empty (http://fr.php.net/manual/fr/function.empty.php).

Au passage, verifie l'extension des fichiers uploadés, histoire qu'on ne puisse pas t'envoyer un .php par exemple ;)

Titre: Re:Probleme de logique
Posté par: POde.uk le le 04-01-2005 a 11:58:26

pour tester si une image est envoyée et en même temps si son type est correct tu peux remplacer ton test


Code:


if ($photo == ""){
...



par


Code:

$acceptedTypes = array('image/jpeg', 'image/jpg', 'image/pjpeg');
if(!in_array($_FILES['image']['type'], $acceptedTypes) || trim($_FILES['image']['tmp_name']) == "" || trim($_FILES['image']['tmp_name']) =="none")
{
echo "format d'image non valide";
}
else
{

...



Titre: Re:Probleme de logique
Posté par: poupsylo le le 04-01-2005 a 18:08:11

Merci bcp pour vos reponses, je vais tester ca ! :) et jetter un oeil du coter de la fonction empty en meme temps , (tant qu'a faire autant s'instruire non ? :) )

Merci !

Poups


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.