上传文件不起作用

时间:2017-08-10 08:14:54

标签: php file file-upload upload

这是我的页面:https://codeshare.io/2163Bz 我不知道为什么,但在第66行,情况不起作用。 我得到了回声" Sa marche pas"一直。 你能帮我吗? TY

<?php
session_start();

include('include/bdd.php'); 
$newadressemail = $_POST['newmail'];
$newadressemailconfirm = $_POST['newmailconfirm'];
$ancienemail = $_SESSION['adresseemail']; 
$newpassword = $_POST['newpassword'];
$newpasswordconfirm = $_POST['newpasswordconfirm'];
$passwordcrypt = sha1($newpassword);

$idconnect = $_SESSION['id'];
$requete = $bdd->prepare("SELECT * FROM compte_utilisateurs WHERE ID = ?");
$requete->execute(array($idconnect));
$userinfo = $requete->fetch();

?>

<!DOCTYPE html>
<html>

    <head>
        <?php include('include/head.php'); ?>
        <!-- Intégration des métas et des fichiers CSS -->
        <title> MotoGroup | Modification de votre profil
        </title>
    </head>

    <body>
    <?php include('include/header.php'); ?>
        <!-- Ajout du header -->
        <div class="container target">
            <div class="row">
                <div class="col-sm-10">
                    <h1 class="">
                        <?php echo $_SESSION['pseudo'] ?> 
                    </h1>  
                    <br>
                </div>
                <div class="col-sm-2">
                    <a href="/users" class="pull-right"><img title="profile image" class="img-circle img-responsive" src="http://www.rlsandbox.com/img/profile.jpg"></a>      
                </div>
            </div>
            <br>
            <div class="row">
                <div class="col-sm-3">
                    <!--left col-->
                    <ul class="list-group">
                        <li class="list-group-item text-muted center" contenteditable="false">Gestion du profil</li>
                        <li class="list-group-item text-left"><a href="modifierprofil.php">Modifier les paramètres de compte</a></li>
                        <li class="list-group-item text-left"><a href="modifierbiomoto.php">Modifier ma biographie ou mes motos</a></li>
                    </ul>
                </div>
                <!--/col-3-->
                <?php 
                    if(!empty($_POST)) // Si le visiteur était déjà sur la page
                    {
                        if($newadressemail == $ancienemail) // L'email à pas changer
                        {
                            if($_POST['newpassword'] == 'password1') // L'email et le mot de passe n'as pas changer
                            {
                                if(isset($_FILES['avatar']) AND !empty($_FILES['avatar']['name'])) 
                                {
                                   $tailleMax = 2097152;
                                   $extensionsValides = array('jpg', 'jpeg', 'gif', 'png');
// LINE 66                         if($_FILES['avatar']['size'] <= $tailleMax) 
                                   {
                                      $extensionUpload = strtolower(substr(strrchr($_FILES['avatar']['name'], '.'), 1));
                                      if(in_array($extensionUpload, $extensionsValides)) 
                                      {
                                         $chemin = "img/avatarmembres/".$_SESSION['id'].".".$extensionUpload;
                                         $resultat = move_uploaded_file($_FILES['avatar']['tmp_name'], $chemin);
                                         if($resultat) 
                                         {
                                            // $updateavatar = $bdd->prepare('UPDATE membres SET avatar = :avatar WHERE id = :id');
                                            $message = "Votre avatar à bien été modifier";
                                         } 
                                         else 
                                         {
                                            $message = "Erreur durant l'importation de votre photo de profil";
                                         }
                                      } 
                                      else 
                                      {
                                         $message = "Votre photo de profil doit être au format jpg, jpeg, gif ou png";
                                      }
                                   } 
                                   else 
                                   {
                                      $message = "Votre photo de profil ne doit pas dépasser 2Mo";
                                   }
                                }
                                else
                                {
                                    $message = "Sa marche pas";
                                }
                            }
                            else // Le mot de passe à changer
                            {
                                if($newpassword == $newpasswordconfirm)
                                {
                                    $passwordonly = $bdd->prepare("UPDATE compte_utilisateurs SET password = ? WHERE ID = ?");
                                    $passwordonly->execute(array($passwordcrypt, $_SESSION['id']));
                                    $message = "Le mot de passe à bien été changer";
                                }
                                else 
                                {
                                    $message = "Les deux mots de passe ne sont pas identiques";
                                }
                            }                            
                        }
                        else // L'email à changer
                        {
                            if($_POST['newpassword'] == 'password1') // Le mot de passe n'as pas changer
                            {
                                if($newadressemail == $newadressemailconfirm)
                                {
                                    $emailonly = $bdd->prepare("UPDATE compte_utilisateurs SET email = ? WHERE ID = ?");
                                    $emailonly->execute(array($newadressemail, $_SESSION['id']));
                                    $message = "Votre adresse e-mail à bien été changer";
                                    $_SESSION['adresseemail'] = $newadressemail;                                     
                                }
                                else
                                {
                                    $message = "Vos deux adresses mail ne sont pas identiques";
                                }
                            }
                            else // Le mot de passe a changer
                            {
                                $emailonly = $bdd->prepare("UPDATE compte_utilisateurs SET email = ? WHERE ID = ?");
                                $emailonly->execute(array($newadressemail, $_SESSION['id']));
                                $passwordonly = $bdd->prepare("UPDATE compte_utilisateurs SET password = ? WHERE ID = ?");
                                $passwordonly->execute(array($passwordcrypt, $_SESSION['id']));
                                $message = "Votre adresse e-mail et votre mot de passe ont été modifier !";
                                $_SESSION['adresseemail'] = $newadressemail;                             
                            }
                        }
                    }
                    else // Si le visiteur vien d'arriver sur la page
                    {
                        $message = "Modifier uniquement les informations que vous souhaitez changer, merci.";
                    }
                ?>
                <div class="col-sm-9" style="" contenteditable="false">
                    <p class="text-danger center"><?php echo $message; ?></p>
                    <br>
                    <form class="form-horizontal" action="modifierprofil.php" method="post">
                        <div class="form-group">
                            <label class="control-label col-sm-4" for="newmail">Nouvelle adresse email:</label>
                            <div class="col-sm-8">
                                <input type="email" class="form-control" name="newmail" id="newmail" placeholder="Entrer votre nouvelles e-mail" value="<?php echo $_SESSION['adresseemail'] ?>">
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="control-label col-sm-4" for="newmailconfirm">Confirmation nouvelle adresse email:</label>
                            <div class="col-sm-8">
                                <input type="email" class="form-control" name="newmailconfirm" id="newmailconfirm" placeholder="Entrer votre nouvelles e-mail" value="<?php echo $_SESSION['adresseemail'] ?>">
                            </div>
                        </div>                        
                        <div class="form-group">
                            <label class="control-label col-sm-4" for="newpassword">Nouveau mot de passe</label>
                            <div class="col-sm-8">
                                <input type="password" name="newpassword" class="form-control" id="newpassword" placeholder="Entrer votre nouveaux mot de passe" value="password1">
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="control-label col-sm-4" for="newpasswordconfirm">Confirmation du nouveau mot de passe</label>
                            <div class="col-sm-8">
                                <input type="password" name="newpasswordconfirm" class="form-control" id="newpasswordconfirm" placeholder="Entrer la confirmation de votre nouveau mot de passe" value="password2">
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="control-label col-sm-4" for="avatar">Changer d'avatar</label>
                            <div class="col-sm-8">
                                <input type="file" name="avatar" id="avatar" placeholder="Choisir un avatar" value="Avatar">
                            </div>
                        </div>
                        <br>
                        <div class="form-group">
                            <div class="col-sm-offset-7 col-sm-4">
                                <button type="submit" class="btn btn-default">Valider</button>
                            </div>
                        </div>                        
                    </form> 
                </div>
            </div>
        </div>
    <?php include('include/footer.php'); ?>
        <!-- Intégration du footer -->
    </body>

</html>

1 个答案:

答案 0 :(得分:1)

如果您要上传此类文件,则必须在enctype="multipart/form-data"代码上使用<form>

<form class="form-horizontal" action="modifierprofil.php" 
      method="post" enctype="multipart/form-data">