Partage
  • Partager sur Facebook
  • Partager sur Twitter

PHP ET OVH

Insertion SQL et formulaire

Sujet résolu
    22 juin 2018 à 10:12:45

    Bonjour à tous,

    J'ai du code qui tourne parfaitement quand je développe en local. Je transferts les données sur mon site, et paf, ça ne marche plus.

    J'ai plusieurs pages qui réalisent le même genre d'insertion, et j'ai le même problème sur chacune.

    Mon script JS ne s'affiche pas (voir sous l'insertion SQL), et l'insertion dans la base n'est pas réalisée. Si quelqu'un a une idée!

    Mon formulaire :

            <form enctype="multipart/form-data" method="post" action="../PHP/Traitement/annonce.php" >
                  <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 
                  <span aria-hidden="true">&times;</span>
                  </button>
              <div class="modal-body">
                    <div class="form-group">
                      <label for="title">Titre de l'annonce</label>
                      <input id="annonces_titre" name="annonces_titre" type="text" class="form-control" pattern=".{3,100}" minlength="5" maxlength="850" title="Entrez le titre de votre annonce" required />
                    </div>
                    <div class="form-group">
                      <label for="message">Message</label>
                      <textarea rows="10" cols="85" class="form-control" name="annonces_contenu" id="annonces_contenu" minlength="5" maxlength="850" required></textarea> 
                    </div>
                    <div class="form-group">
                      <label for="message">Ajouter un fichier </label>
                       <input type="file" name="annonces_file" value=""></input>
                    </div>
                    <div class="form-group">
                       <input type="file" name="annonces_file2" value=""></input>
                    </div>
                    <div class="form-group">
                       <input type="file" name="annonces_file3" value=""></input>
                    </div>
                    <div class="form-group">
                       <input type="file" name="annonces_file4" value=""></input>
                    </div>
                    <div class="form-group">
                       <input type="file" name="annonces_file5" value=""></input>
                    </div>
                    <div class="form-group">
                      <label for="title">Date</label>
                      <input id="annonces_date" class="form-control" name="annonces_date" type="date" value=" <?php echo date("Y-m-d"); ?>"/>
                    </div>
              </div>
            <div class="modal-footer">
               <button type="button" class="btn btn-secondary" data-dismiss="modal">Annuler</button>
               <button type="submit" class="btn btn-primary" name="annonce_creer">Poster l'annonce</button>
            </div>
           </form>

    Et le fichier appelé:

    <?php
    	include '../../Include/connection.php' ;
    
    	echo '<script src="../../JS/divInfo.js"></script>' ;
    
    	//upload du fichier
    	if(!empty($_FILES['annonces_file']))
    	{
    		$path = "../../Files/ANNONCES/";
    		$trim= $_FILES['annonces_file']['name'];
    		$trim = preg_replace("/[^a-zA-Z0-9.]/", "", $trim);
    		$path = $path . $trim;
    		if(move_uploaded_file($_FILES['annonces_file']['tmp_name'], $path)) {
    		}
    	}
    		if(!empty($_FILES['annonces_file2']))
    	{
    		$path2 = "../../Files/ANNONCES/";
    		$trim= $_FILES['annonces_file2']['name'];
    		$trim = preg_replace("/[^a-zA-Z0-9.]/", "", $trim);
    		$path2 = $path2 . $trim;
    		if(move_uploaded_file($_FILES['annonces_file2']['tmp_name'], $path2)) {
    		
    		} 
    	}
    		if(!empty($_FILES['annonces_file3']))
    	{
    		$path3 = "../../Files/ANNONCES/";
    		$trim= $_FILES['annonces_file3']['name'];
    		$trim = preg_replace("/[^a-zA-Z0-9.]/", "", $trim);
    		$path3 = $path3 . $trim;
    		if(move_uploaded_file($_FILES['annonces_file3']['tmp_name'], $path3)) {
    		
    		} 
    	}
    		if(!empty($_FILES['annonces_file4']))
    	{
    		$path4 = "../../Files/ANNONCES/";
    		$trim= $_FILES['annonces_file4']['name'];
    		$trim = preg_replace("/[^a-zA-Z0-9.]/", "", $trim);
    		$path4 = $path4 . $trim;
    		if(move_uploaded_file($_FILES['annonces_file4']['tmp_name'], $path4)) {
    		
    		} 
    	}
    		if(!empty($_FILES['annonces_file5']))
    	{
    		$path5 = "../../Files/ANNONCES/";
    		$trim= $_FILES['annonces_file5']['name'];
    		$trim = preg_replace("/[^a-zA-Z0-9.]/", "", $trim);
    		$path5 = $path5 . $trim;
    		if(move_uploaded_file($_FILES['annonces_file5']['tmp_name'], $path5)) {
    		
    		} 
    	}
    
        
    	if(isset($_POST['annonce_creer'])) {
    
    		$titre = ( $_POST['annonces_titre'] ) ;
    		$ladate = ( $_POST['annonces_date'] ) ;
    		$contenu = ( $_POST['annonces_contenu'] ) ;
    		$page = 'ANNONCES' ;
    		
    
    		$req = $bdd->prepare('INSERT INTO Annonces(annonces_titre, annonces_date, annonces_contenu, annonces_auteur, annonces_file, annonces_file2, annonces_file3, annonces_file4, annonces_file5, annonces_page) VALUES(:titre, :ladate, :contenu, :auteur, :path, :path2, :path3, :path4, :path5, :page)') ;
    		$req->execute(array(
    			'titre' => $titre,
    			'ladate' => $ladate,
    			'contenu' => $contenu,
    			'auteur' => $_SESSION['Intranet_login'],
    			'path'=> $path,
    			'path2'=> $path2,
    			'path3'=> $path3,
    			'path4'=> $path4,
    			'path5'=> $path5,
    			'page'=> $page
    			));
    		
    	?> 
    	<script type="text/javascript" language="javascript">alert("Annonce postée!")</script>
    
    		<script type='text/javascript'>location.replace("../../Atelier/accueil.php")</script> <?php
    	}
    	else {
    		echo 'Contactez l\'administrateur du site web' ;
    	}
    ?>
    
    

    Merci!


    • Partager sur Facebook
    • Partager sur Twitter
      22 juin 2018 à 10:22:07

      Petites questions :

      • As-tu activé les erreurs PDO ?
      • As-tu pensé à vérifier tes conditions ? 
      • As-tu comparé les versions de PHP en local et sur ton hébergeur ?

      Au passage, je ne suis pas fan des redirections javascript. Je suis plus du genre à passer des messages d'alertes (échec, succes, ...) en sessions, et rediriger par header, si tu le peux (pas de retour au navigateur avant)...

      Jettes un œil sur le principe des messages flash

      De plus, pas la peine de mettre 5 variables différentes pour $path ...

      • Partager sur Facebook
      • Partager sur Twitter
      Kwo:re / topic OC | Aidez les autres, indiquez un sujet résolu ! | Vous êtes bloqué ? Suivez le guide ! | N'aide pas par MP
        22 juin 2018 à 11:12:23

        Merci pour ta réponse,

        En effet c'est nul ce que je fais avec mes path...

        Oui les erreurs PDO sont activés.

        Oui ce sont les les mêmes versions de PHP.

        Mais j'aurai le temps de recoder et d'améliorer mon site quand tout marchera déjà comme c'était en local.

        Mon code fonctionne parfaitement depuis plusieurs mois en local, ne vois-tu pas quelque chose que OVH ne peut pas tolérer (casse? etc...).

        Si quelqu'un a une idée de ce qui bloque chez OVH, je suis preneur!

        -
        Edité par Zarkoffe 22 juin 2018 à 11:38:21

        • Partager sur Facebook
        • Partager sur Twitter
          22 juin 2018 à 14:06:46

          Bonjour,

          Ca peut venir de pas mal de choses, il faudrait voir la connexion, les chemins des dossier, session_start(), l'activation des erreurs, etc...

          • Partager sur Facebook
          • Partager sur Twitter
            22 juin 2018 à 14:18:59


            Fatal error: Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'intranetqf76.Annonces' doesn't exist in.....

            Bingo, encore un soucis de casse. Merci à vous 2 !

            • Partager sur Facebook
            • Partager sur Twitter

            PHP ET OVH

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown