- 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.
-
AuteurMessages
-
5 janvier 2012 à 16 h 21 min #503877
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 : AucunProblè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
5 janvier 2012 à 16 h 25 min #809037Plutôt que de te servir de execphp, pourquoi ne fais tu pas un template contenant le formulaire?
5 janvier 2012 à 17 h 24 min #809038Car le formulaire stock des fichiers. Et donc c’est un formulaire assez particulier
5 janvier 2012 à 17 h 30 min #809039ben… 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 🙂
5 janvier 2012 à 17 h 32 min #809040en faite meme quand je met le formulaire juste, sans le php de verif et d’upload, la page bug 😕
5 janvier 2012 à 17 h 40 min #809041regarde 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 »>
6 janvier 2012 à 20 h 37 min #809036Bon 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?
6 janvier 2012 à 20 h 57 min #809035IL y a rien dans $_FILES?
6 janvier 2012 à 21 h 19 min #809034dès que je le met dans le code, la page s’affiche pu et bug
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.