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 :

[Upload] Tester des variables vides


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Par défaut [Upload] Tester des variables vides
    Bonjour à tous,

    J'aimerais une petite aide pour tester des variables :

    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
    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
    <?
    
    $name_file = $_FILES['monfichier']['name']; 
    $source=$_FILES['monfichier']['tmp_name'];
    
    move_uploaded_file($source, "./".$name_file); 
    
    $extension=get_extension($name_file);
    
    $type="text/plain";
    if($type=="doc")
    {
       $type="text/vnd.ms-word";
    }
    else if($type=="xls")
    {
       $type="text/vnd.ms-excel";
    }
    
    $type2="image/png";
    
    if($extension=="gif")
    {
       $type2="image/gif";
    }
    else if($extension=="bmp")
    {
       $type2="image/bmp";
    }
    
    function get_extension($filename)
    {
       $parts = explode('.',$filename);
       $last = count($parts) - 1;
       $ext = $parts[$last];
       return $ext;
    }
    // vérification des champs
    if (empty($_POST['from']))
    $message .= "Votre email<br/>";
    if (empty($_POST['monfichier']))
    $message .= "Votre Curriculum Vitae au format .doc<br/>";
    
    //----------------------------------
    // Construction de l'entête
    //----------------------------------
    
    $boundary = "-----=".md5(uniqid(rand()));
    $header = "MIME-Version: 1.0\r\n";
    $header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
    $header .= "\r\n";
    
    $msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";
    
    $msg .= "--$boundary\r\n";
    
    $msg .= 'Content-Type: $type; charset=UTF-8';
    $msg .= "Content-Transfer-Encoding:8bit\r\n";
    
    if($name_file!="")
    {
    $file = $name_file;
    $fp = fopen($file, "rb");  
    $attachment = fread($fp, filesize($file));
    fclose($fp);
    
    $attachment = chunk_split(base64_encode($attachment));
    
    $msg .= "--$boundary\r\n";
    $msg .= "Content-Type: $type2; name=\"$file\"\r\n";
    $msg .= "Content-Transfer-Encoding: base64\r\n";
    $msg .= "Content-Disposition: inline; filename=\"$file\"\r\n";
    $msg .= "\r\n";
    $msg .= $attachment . "\r\n";
    $msg .= "\r\n\r\n";
    $msg .= "--$boundary--\r\n";
    }
    
    $destinataire = "monmail@test.com";
    $expediteur   = $_POST['from'];
    $reponse      = $expediteur;
    echo "Merci votre CV a bien été envoyé<br />";
    echo "Vous recevrez une réponse dans quelques jours";
    
    mail($destinataire,'CV provenant du site Internet', $msg, "Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header);
    
    if($name_file!="")
    {
    unlink($name_file);
    }
    print("<br>\n");
    print("<br><A href=http://www.monsite.fr/ target=\"principal\"><font size=2>Retour sur le site</font></A>");
    ?>
    Deja le code en gras est il bon ?

    Ensuite je voudrais renvoyer une erreur si un des 2 champs ou les 2 ne sont pas remplis.

    Merci de votre aide.

  2. #2
    Membre éclairé Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Par défaut
    Bonjour

    Citation Envoyé par pjipe
    Ensuite je voudrais renvoyer une erreur si un des 2 champs ou les 2 ne sont pas remplis.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if(!isset($_POST['monPremierChamp']) && !isset($_POST['monSecondChamp'])){
        echo "remplir champs !!";
    }else{
      $maVar = $_POST['monPremierChamp'];
       ......
    }
    & pour le code en gras je ne peux rien te dire... sauf que pour $message l'as tu déclaré ?
    & $_POST['form'] ça vient d'où ?

    lien pratique :http://www.deformedweb.co.uk/php_variable_tests.php

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Par défaut
    Ok merci akara de ton aide et je met tout ca ou dans mon code :

    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
    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
    <?
     
    $name_file = $_FILES['monfichier']['name']; 
    $source=$_FILES['monfichier']['tmp_name'];
     
    move_uploaded_file($source, "./".$name_file); 
     
    $extension=get_extension($name_file);
     
    $type="text/plain";
    if($type=="doc")
    {
       $type="text/vnd.ms-word";
    }
    else if($type=="xls")
    {
       $type="text/vnd.ms-excel";
    }
     
    $type2="image/png";
     
    if($extension=="gif")
    {
       $type2="image/gif";
    }
    else if($extension=="bmp")
    {
       $type2="image/bmp";
    }
     
    function get_extension($filename)
    {
       $parts = explode('.',$filename);
       $last = count($parts) - 1;
       $ext = $parts[$last];
       return $ext;
    }
     
    //----------------------------------
    // Construction de l'entête
    //----------------------------------
     
    $boundary = "-----=".md5(uniqid(rand()));
    $header = "MIME-Version: 1.0\r\n";
    $header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
    $header .= "\r\n";
     
    $msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";
     
    $msg .= "--$boundary\r\n";
     
    $msg .= 'Content-Type: $type; charset=UTF-8';
    $msg .= "Content-Transfer-Encoding:8bit\r\n";
     
    if($name_file!="")
    {
    $file = $name_file;
    $fp = fopen($file, "rb");  
    $attachment = fread($fp, filesize($file));
    fclose($fp);
     
    $attachment = chunk_split(base64_encode($attachment));
     
    $msg .= "--$boundary\r\n";
    $msg .= "Content-Type: $type2; name=\"$file\"\r\n";
    $msg .= "Content-Transfer-Encoding: base64\r\n";
    $msg .= "Content-Disposition: inline; filename=\"$file\"\r\n";
    $msg .= "\r\n";
    $msg .= $attachment . "\r\n";
    $msg .= "\r\n\r\n";
    $msg .= "--$boundary--\r\n";
    }
     
    $destinataire = "monmail@test.fr";
    $expediteur   = $_POST['from'];
    $reponse      = $expediteur;
    echo "Merci votre CV a bien été envoyé<br />";
    echo "Vous recevrez une réponse dans quelques jours";
     
    if(!isset($_POST['from']) && !isset($_POST['monfichier'])){
        echo "remplir champs !!";
    }else{
      $maVar = $_POST['from'];
      $maVar = $_POST['monfichier'];
    } 
    mail($destinataire,'CV provenant du site Internet', $msg, "Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header);
     
    if($name_file!="")
    {
    unlink($name_file);
    }
    print("<br>\n");
    print("<br><A href=http://www.monsite.fr target=\"principal\"><font size=2>Retour sur le site</font></A>");
    ?>
    Je sais pas si c'est cohérent.

    Merci.

  4. #4
    Membre éclairé Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Par défaut
    tu ne peux pas faire ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $maVar = $_POST['from'];
    $maVar = $_POST['monfichier'];
    ici tu affecte d'abord le from ensuite tu le change par monfichier, donc tu perds $_POST['from'];
    il faut que tu fasse la distinction des 2 variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $maVar_from = $_POST['from'];
    $maVar_fichier = $_POST['monfichier'];
    mais d'ou sort $_POST['from'] ? et qu'est ce que c'est ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Par défaut
    a ouais ok en fait je pensais avoir adapté ton code au mien car $_POST['from']; correspond à mon premier champs et l'autre c'est le deuxième.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Par défaut
    Je sais pas trop ou insérer le bout de code pour afficher une erreur lorsque un des 2 champs ou les 2 ne sont pas remplis ou saisis :

    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
    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
    <?
     
    $name_file = $_FILES['monfichier']['name']; 
    $source=$_FILES['monfichier']['tmp_name'];
     
    move_uploaded_file($source, "./".$name_file); 
     
    $extension=get_extension($name_file);
     
    $type="text/plain";
    if($type=="doc")
    {
       $type="text/vnd.ms-word";
    }
    else if($type=="xls")
    {
       $type="text/vnd.ms-excel";
    }
     
    $type2="image/png";
     
    if($extension=="gif")
    {
       $type2="image/gif";
    }
    else if($extension=="bmp")
    {
       $type2="image/bmp";
    }
     
    function get_extension($filename)
    {
       $parts = explode('.',$filename);
       $last = count($parts) - 1;
       $ext = $parts[$last];
       return $ext;
    }
     
    //----------------------------------
    // Construction de l'entête
    //----------------------------------
     
    $boundary = "-----=".md5(uniqid(rand()));
    $header = "MIME-Version: 1.0\r\n";
    $header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
    $header .= "\r\n";
     
    $msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";
     
    $msg .= "--$boundary\r\n";
     
    $msg .= 'Content-Type: $type; charset=UTF-8';
    $msg .= "Content-Transfer-Encoding:8bit\r\n";
     
    if($name_file!="")
    {
    $file = $name_file;
    $fp = fopen($file, "rb");  
    $attachment = fread($fp, filesize($file));
    fclose($fp);
     
    $attachment = chunk_split(base64_encode($attachment));
     
    $msg .= "--$boundary\r\n";
    $msg .= "Content-Type: $type2; name=\"$file\"\r\n";
    $msg .= "Content-Transfer-Encoding: base64\r\n";
    $msg .= "Content-Disposition: inline; filename=\"$file\"\r\n";
    $msg .= "\r\n";
    $msg .= $attachment . "\r\n";
    $msg .= "\r\n\r\n";
    $msg .= "--$boundary--\r\n";
    }
     
    $destinataire = "monmail@test.fr";
    $expediteur   = $_POST['from'];
    $reponse      = $expediteur;
    echo "Merci votre CV a bien été envoyé<br />";
    echo "Vous recevrez une réponse dans quelques jours";
     
    if(!isset($_POST['from']) && !isset($_POST['monfichier'])){
        echo "remplir champs !!";
    }else{
    	$maVar_from = $_POST['from'];
    	$maVar_fichier = $_POST['monfichier'];
    } 
    mail($destinataire,'CV provenant du site Internet', $msg, "Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header);
     
    if($name_file!="")
    {
    unlink($name_file);
    }
    print("<br>\n");
    print("<br><A href=http://www.monsite.fr target=\"principal\"><font size=2>Retour sur le site</font></A>");
    ?>
    Merci de m'aider, au moins me dire exactement ou insérer le code pour renvoyer l'erreur des champ(s) non rempli(s).

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/03/2013, 10h22
  2. Tester si valeur variable vide
    Par xeron33 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 27/02/2013, 18h39
  3. Réponses: 9
    Dernier message: 27/04/2011, 16h19
  4. [variables] Tester des valeures à 1 ou 2
    Par elitemedia dans le forum Langage
    Réponses: 5
    Dernier message: 04/12/2006, 20h03
  5. Faire une boucle avec des variables vides ?
    Par byloute dans le forum Linux
    Réponses: 5
    Dernier message: 23/02/2006, 09h33

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