pb d'enregistrement
Posté : 06 juil. 2018, 17:45
Bonjour
Ci-dessous mon code pour enregistrer via un formulaire :
et voici mon autre code, placé tout au début de ma page, qui évite le renvoi répétitif d'un formulaire,lors d'un rafraîchissement du navigateur :
Donc avant de placer mon 2ème code dans ma page, la ligne suivante :
me permettait d'enregistrer dans le dossier cité, une photo.
Ensuite, après avoir placé mon 2ème code, cela ne fct plus ? par contre cela enregistre bien dans la Bdd.
Ci-dessous mon code pour enregistrer via un formulaire :
Code : Tout sélectionner
<?php
// Si le formulaire est soumis
if(isset($_POST['valide']))
{
//si les champs ne sont pas vide
if (!empty($_POST['nom']) && !empty($_POST['prenom']) && !empty($_POST['qualif']) && !empty($_FILES['photo']) && !empty($_POST['titre']))
{
//Création des variables
$inNom = $_POST['nom'];
$inPrenom = $_POST['prenom'];
$inQualif = $_POST['qualif'];
$inPhoto = $_FILES['photo'];
$inTitre = $_POST['titre'];
// test si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($inPhoto) && $inPhoto['error'] == 0)
{
// test la taille du fichier
if ($inPhoto['size'] <= 2000000 )
{
// test si l'extension est autorisée
$infosfichier = pathinfo($inPhoto['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'png');
if (in_array($extension_upload, $extensions_autorisees))
{
// On peut valider le fichier et le stocker
$uploads_dir = 'C:\UwAmp\www\essai\photo';
move_uploaded_file ($inPhoto['tmp_name'], "$uploads_dir/$inTitre.jpg");
echo "L'envoi a bien été effectué !<br \><br \>";
// On se connecte à la Bdd
include('../page/connection.php');
// Enregistrement des valeurs dans la Bdd
$req = $bdd->prepare('INSERT INTO entree_personnel(nom, prenom, qualif, titre) VALUES(:nom, :prenom, :qualif, :titre)');
$req->execute(array('nom' => $inNom,'prenom' => $inPrenom,'qualif' => $inQualif,'titre' => $inTitre));
echo "Bienvenue :<b> ".$inPrenom." </b>,dans la Bdd..." ;
// Je me deconnecte
$req = null;
}
}
}
else
{
if ($inPhoto['error'] == 1)
{
echo "<br \><b><h2>Photo supérieur à : 2Mo, recommencez l'enregistrement</h2></b>";
}
}
}
else
{
echo "Veuillez remplir tous les champs";
}
}
?>Code : Tout sélectionner
<?php
//**************************** Éviter le renvoi répétitif d'un formulaire,lors d'un rafraîchissement du naviguateur *************************//
// { Début - Première partie
if(!empty($_POST) OR !empty($_FILES))
{
$_SESSION['sauvegarde'] = $_POST ;
$_SESSION['sauvegardeFILES'] = $_FILES ;
$fichierActuel = $_SERVER['PHP_SELF'] ;
if(!empty($_SERVER['QUERY_STRING']))
{
$fichierActuel .= '?' . $_SERVER['QUERY_STRING'] ;
}
header('Location: ' . $fichierActuel);
exit;
}
// } Fin - Première partie
// { Début - Seconde partie
if(isset($_SESSION['sauvegarde']))
{
$_POST = $_SESSION['sauvegarde'] ;
$_FILES = $_SESSION['sauvegardeFILES'] ;
unset($_SESSION['sauvegarde'], $_SESSION['sauvegardeFILES']);
}
// } Fin - Seconde partie
?>Code : Tout sélectionner
// On peut valider le fichier et le stocker
$uploads_dir = 'C:\UwAmp\www\essai\photo';
move_uploaded_file ($inPhoto['tmp_name'], "$uploads_dir/$inTitre.jpg");Ensuite, après avoir placé mon 2ème code, cela ne fct plus ? par contre cela enregistre bien dans la Bdd.