insertion du php avec exec-php (Créer un compte)

  • Statut : non résolu
  • Ce sujet contient 8 réponses, 2 participants et a été mis à jour pour la dernière fois par Guy, le il y a 13 années.
9 sujets de 1 à 9 (sur un total de 9)
  • Auteur
    Messages
  • #503877
    Hontor
    Participant
    Initié WordPress
    32 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 3.2.1
    – Version de PHP/MySQL : PHP 5.3.8 VC9/MySQL 5.5.15
    – Thème utilisé : Graphene
    – Extensions en place : FCKEditor, exec-php
    – Nom de l’hebergeur : localhost
    – Adresse du site : Aucun

    Problème(s) rencontré(s) :

    <?php $avancement = 0; //avancé de l'envoie du CV : debut	
    if (isset($_POST['send']))
    {
    $error = 0;
    $avancement = 1; //avancé de l'envoie du CV : en cours
    if ($_POST['metier']=="selectionner") //verif metier
    {
    $error = $error + 1;
    echo '<br>Veuillez selectionner le domaine de votre métier<br>‘;
    }
    if (empty($_POST[‘niveau’])) //verif niveau d’etude
    {
    $error = $error + 1;
    echo ‘<br>Veuillez remplir votre niveau d’étude<br>‘;
    }
    if (empty($_POST[‘lieu’])) //verif lieu geographique
    {
    $error = $error + 1;
    echo ‘<br>Veuillez remplir le lieu geographique<br>‘;
    }
    if ($_FILES[‘curriculum’][‘name’]== ») //verification cv présent
    {
    $error = $error + 1;
    echo ‘<br>Veuillez déposer votre CV<br>‘;
    echo $_FILES[‘curriculum’][‘name’];
    }
    else
    {

    if ($_FILES[‘curriculum’][‘error’] > 0) //verification d’erreur pendant le transfere
    {
    $error = $error +1;
    $erreur = « <br>Erreur lors du transfert du CV<br>« ;
    }
    $extensions_valides = array( ‘pdf’); //extension accepté pour le CV
    $extension_upload = strtolower( substr( strrchr($_FILES[‘curriculum’][‘name’], ‘.’) ,1) );
    if (!in_array($extension_upload,$extensions_valides) ) //verification fichier = image
    {
    $error = $error +1;
    echo « <br>Extension du CV incorrecte<br>« ;
    }
    $taille_maxi = 1048576;//Taille maxi du CV
    $taille = $_FILES[‘curriculum’][‘size’];//Taille du CV
    if($taille>$taille_maxi)
    {
    $error = $error +1;
    echo « <br>Votre CV est trop gros (taille maximum : 1Mo)<br>« ;
    }
    }
    if (empty($_POST[‘experience’])) //verif experience
    {
    $error = $error +1;
    echo ‘<br>Veuillez remplir votre experience (mettre « aucune » si vous n’en avez pas)<br>‘;
    }

    if ($error == 0)
    {
    $bdd = new PDO(‘mysql:host=localhost;dbname=wordpress’, ‘root’,  »); // connection a la base de donnée
    $nom = microtime(). « .pdf »; //nom du fichier pdf sur le serveur
    $upload = move_uploaded_file($_FILES[‘curriculum’][‘tmp_name’], »cv/ » .$nom); //upload du cv
    if ($upload) echo « Upload de du CV réussi<br>« ;
    $date=time();
    $req = $bdd->prepare(‘INSERT INTO tab_cv(metier, etude, lieu, cv, experience, date) VALUES(:metier, :etude, :lieu, :cv, :experience, :date)’);//ajout a la bdd de l’article
    $req->execute(array(
    ‘metier’ => $_POST[‘metier’],
    ‘etude’ => $_POST[‘niveau’],
    ‘lieu’ => $_POST[‘lieu’],
    ‘cv’ => $nom,
    ‘experience’ => $_POST[‘experience’],
    ‘date’ => $date,
    ));
    echo ‘Candidature publiée<br><br>‘;
    }
    }
    echo ‘
    <CENTER><form class="cv" action="code_cv.php" method="post" enctype="multipart/form-data">
    <table border="0">
    <tr>
    <td>Métier : </td>
    <td><select name="metier"><option value="selectionner">Sélectionner</option><option value="management">Management</option><option value="technique">Technique</option><option value="commercial">Commercial</option></select></td>
    </tr>
    <tr>
    <td>Niveau d’étude : </td>
    <td><input name="niveau"/></td>
    </tr>
    <tr>
    <td>Lieu geographique : </td>
    <td><input name="lieu"/></td>
    </tr>
    <tr>
    <td>Curriculum vitae : </td>
    <td><input type="file" name="curriculum"/></td>
    </tr>
    <tr>
    <td>Experience : </td>
    <td><textarea name="experience" rows="8" cols="38"></textarea></td>
    </tr>
    </table>
    <input type="submit" name="send" value="Valider" />
    </form></CENTER>‘;
    ?>

    Voilà j’ai fait un petit formulaire de traitement de donné tout con. Mais lorsque je le met dans une article wordpress, bah j’retombe toujours sur le meme probleme, la page met 3plombs a charger, puis ca affiche une tite erreur :

    La connexion a été réinitialisée
    La connexion avec le serveur a été réinitialisée pendant le chargement de la page.

    help me please =)

    #809037
    Guy
    Participant
    Maître WordPress
    14817 contributions

    Plutôt que de te servir de execphp, pourquoi ne fais tu pas un template contenant le formulaire?

    #809038
    Hontor
    Participant
    Initié WordPress
    32 contributions

    Car le formulaire stock des fichiers. Et donc c’est un formulaire assez particulier =)

    #809039
    Guy
    Participant
    Maître WordPress
    14817 contributions

    ben… je vois pas ce qui empêche de faire un tempate de page pour un formulaire un peu particulier.
    Cela se justifie de prendre exec_php si tu fais des dizaines de pages avec des formulaires tous différents, mais si tu n’en as que deux ou trois, le faire soit en shortcode soit directement dans le template me parait plus sécurisé.

    Pour ton cas, déjà assure toi que exec_php récupère correctement les $_POST, $_FILES, etc… est ce que le délai d’attente est au retour du formulaire, à l’envoi de la requête MySQL, en gros c’est parti pour une bonne séance de debug 🙂

    #809040
    Hontor
    Participant
    Initié WordPress
    32 contributions

    en faite meme quand je met le formulaire juste, sans le php de verif et d’upload, la page bug 😕

    #809041
    Guy
    Participant
    Maître WordPress
    14817 contributions

    regarde si c’est pas le action qui te fait bugguer, si tu reviens sur la meme page, met quelque chose comme ça

    <form action=" » id= »myForm » method= »post »>

    #809036
    Hontor
    Participant
    Initié WordPress
    32 contributions

    Bon voilà je viens de faire plusieurs test. Et en faite c’est la variable

    $_FILES

    qui c’est pas prise en compte par exec-php

    Auriez vous une solution?

    #809035
    Guy
    Participant
    Maître WordPress
    14817 contributions

    IL y a rien dans $_FILES?

    #809034
    Hontor
    Participant
    Initié WordPress
    32 contributions

    dès que je le met dans le code, la page s’affiche pu et bug

9 sujets de 1 à 9 (sur un total de 9)
  • Vous devez être connecté pour répondre à ce sujet.