| ||||||||||||||||
Petit astucien | Bonjour, j’ai essentiellement trois(3) problèmes a soumettre en espérant avoir des solutions, mon explication des soucis risque de vous paraitre long, mais c’est dû au fait que je tiens vraiment à avoir de l’aide. 1°)j’ai une base de données comportant 2 tables, « employes »et « utilisateur »la table utilisateur contient les champs « login »et « password » servant à l’authentification de l’utilisateur. Ce code là fonctionne et redirige l’utilisateur après authentification vers la page « acceuil.php »seulement je ne sais comment faire pour qu’à l’exécution, mon formulaire de connexion nommé « login.php »serve de page d’acceuil, c’est-à-dire la première page de mon site vu que tout part de cette page ? j’ai vu des liens vers des pages « index.php »je ne sais pas s’il faut créer cette page ou s’il est prédéfini dans le logiciel, en fait j’utilise dreamweaver 8, mais je tape en dur les codes.j’utilise des variables de session,je veux qu’au bout d’un certains délai d’inactivité par exemple 5mn l’utilisateur soit amené à se connecter de nouveaux sur toutes les pages ou il dépassera ce délai, seulement je ne sais pas trop comment m’y prendre, voici ce que j’ai fais : <?php session_start(); function afficherformulaire ($u = '', $error = '') { if ($error != '') echo '<font color="red">' . $error . '</font>'; ?> <form name="form1" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> <table border="0"> <tr><td colspan="2" align="center"><h2>Formulaire de connexion</h2></td></tr> <tr><td><b>Nom d'utilisateur :</b></td> <td><input name="utilisateur" value="<?php echo $u; ?>"></td></tr> <tr><td><b>Mot de passe :</b></td> <td><input name="password"></td></tr> <tr><td align="center" colspan="2"> <input type="submit" value="Valider" onClick="return onValider();"> <input type="submit" value="Annuler"></td></tr> </table> </form> <script type="text/JavaScript"> function onValider() { if (document.form1.utilisateur.value == '') { alert("Veuiller taper un nom d'utilisateur."); return false; } if (document.form1.password.value == '') { alert("Veuiller taper un mot de passe."); return false; } return true ; } </script> <?php }//fin de la fonction if (!isset ($_POST["valider"]) && !isset($_POST['annuler'])) { afficherformulaire(); } if (isset($_POST["annuler"])) { require("annuler.php"); } if (isset($_POST["valider"])) { $link = mysql_connect("localhost", "root", "pytheas") or die(); $db = mysql_select_db("grh") or die(); $query = "select * from utilisateur where login='" . addslashes($_POST["utilisateur"]) . "' and password = '" . addslashes($_POST["password"]) . "'"; $result = mysql_query($query) or die(); $row=mysql_fetch_row($result); if ($row ) { $login =$_POST['utilisateur']; $_SESSION['login']=$login; $_SESSION['pass']=$pass; $_SESSION['delai']= time() + (5*60); $pass =$_POST['password']; require("acceuil.php"); } else afficherformulaire($_POST["utilisateur"], "Nom d'utilisateur ou mot de passe incorrect"); } ?> J’ai reccupérer les valeurs de connexion dans les variables $_SESSION['login'] $_SESSION['pass'], j’ai initialiser $_SESSION['delai'] par $_SESSION['delai']= time() + (5*60); Je ne sais pas si c’est comme ça on fait. Dans ma page « acceuil.php » au debut j’ai fait : < ?php session_start(); If($_SESSION[‘delai’]) afficherformulaire() ; ?> Et a ce niveaux quand j’exécute le « login.php » il y’a une erreur du genre ; parse error session is already started. 2°)j’ai créer un formulaire de recherche multicritères,permettant à l’utilisateur de les renseignes,apres quoi, les résultats correspondant aux champs choisis par l’utilisateur doivent s’afficher par groupe de 5 enregistrements par page, c’est-à-dire que si la recherche retourne 20 enregistrements le programme doit permettre de les afficher sur 5 pages. Voici le code de mon formulaire : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Document sans titre</title> </head>
<body> <?php function afficherformulaire ($u = '', $error = '') { if ($error != '') echo '<font color="red">' . $error . '</font>'; ?> <form name="recherche" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <table border="0" align="center" width="862" height="100" bgcolor="#0099FF"> <tr> <td width="600" align="center" colspan="2" height="0"> <h1><b><font color="#FF0000"><marquee>Ceci est un formulaire de rechercher entrez y vos critères.</marquee></font></b></h1> </td> <tr><td width="846"> <b>Numero</b> <input name="numero" /> </td> </tr> <tr><td width="846"> <b>Nom</b> <input name="nom" /> </td></tr> <tr><td width="846"><b>Prenom</b><input type="text" /> </td></tr> <tr><td width="846"> <b>Genre</b><input type="radio" value="masculin" />Masculin<input value="feminin"/>Feminin</td></tr> <tr><td width="846"> <b>Date de Naissance:</b>><input type="radio" value="moins" />Moins de 30 ans<input value="plus" />Plus de 30 ans ></td></tr> <tr><td width="846"> <b>Date D'embauche:</b><input type="radio" value="inferieur" />Inferieur ou égale à 2000<input name="datemb" value="superieur" />Supérieur à 2000 </td></tr> <tr><td width="846"> <b>Salaire Brut:</b><input type="radio" value="minore" />compris entre [0-150000]<input name="salbrut" value="majore" />Entre [15000-et plus] </td></tr> <tr><td width="846"> <b>Situation Matrimoniale:</b><input value="celibataire" />Celibataire<input name="sitmat" value="marie" />Marié<input type="radio" value="veuf" />Veuf<input value="divorce" />Divorcé</td></tr> <tr><td width="846"> <b>Nombre D'enfants:</b><input type="radio" value="plusde" />Plus de 5<input value="moinsde" />Moins de 5 </td></tr> <tr><td width="846"> <b>Numero de Télephone:</b><input /><br/> </td></tr> <tr><td width="846"> <b>Email:</b><input type="=text" /><br/> </td></tr> <tr><td width="846"> <b>Loisirs: </b><input name="loisir" value="cinema" />Cinéma<input type="radio" value="musique" />musique<input value="litterature"/ >Littérature<input name="loisir" value="sport" />Sport<input name="loisir" value="religion" >Réligion<input type="radio" value="television" >Télévision<input value="politique" />Politique </td></tr> <tr><td width="100" align="center"><input value="rechercher" /></td></tr> </table> </form> <?php }//fin fonction if(!isset($_POST['valider'])) afficherformulaire(); else { $link=mysql_connect("localhost","root","pytheas"); $db=mysql_select_db("grh");
$numero=$_POST['numero']; $nom=$_POST['nom']; $prenom=$_POST['prenom']; $genre=$_POST['genre']; $datnaiss=$_POST['datnaiss']; $datemb=$_POST['datemb']; $salbrut=$_POST['salbrut']; $sitmat=$_POST['sitmat']; $nbenf=$_POST['nbenf']; $tel=$_POST['tel']; $mail=$_POST['mail']; $loisir=$_POST['loisir']; if($numero !='') $query='SELECT * FROM employes WHERE numero="'.$numero.'"'; elseif($nom!='') $query='SELECT * FROM employes WHERE nom="'.$nom.'"'; elseif($prenom!='') $query='SELECT * FROM employes WHERE prenom="'.$prenom.'"'; elseif($mail!='') $query='SELECT * FROM employes WHERE email="'.$mail.'"'; if($genre!='') { $query='SELECT * FROM employes WHERE genre="'.$genre.'"'; }
elseif($datnaiss!='') { if($datnaiss=='moins') { $datN= ((year(date))-(year($datnaiss)); $query='SELECT * FROM employes WHERE "'.$datN.'"<30'; } else $query='SELECT * FROM employes WHERE "'.$datN.'">=30'; } elseif($datemb!='') { if($datemb=='inferieur') { $datjour=(year(date)); $datemboch=(year($datemb)); $query='SELECT * FROM employes WHERE (year("'.$datemb.'")<=2000)'; } else $query='SELECT * FROM employes WHERE (year("'.$datemb.'")>2000)'; } elseif ($salbrut!='') { if($salbrut=='minore') $query='SELECT * FROM employes WHERE salbrut <=150000'; else $query='SELECT * FROM employes WHERE salbrut >150000'; } elseif( $sitmat!='') { $query='SELECT * FROM employes WHERE sitmat="'.$sitmat.'"';
} elseif($nbenf!='') { $query='SELECT * FROM employes WHERE nbenf="'.$nbenf.'"'; } elseif($tel!='') $query='SELECT * FROM employes WHERE tel="'.$tel.'"'; elseif($mail!='') $query='SELECT * FROM employes WHERE email="'.$mail.'"'; else if($loisir!='') $query='SELECT * FROM employes WHERE loisir="'.$loisir.'"'; $result=mysql_query($result);
?> <table width="1000" height="100" align="center" border="" bordercolor="#33ff33" bgcolor="#CC3366"> <tr> <td ><b>Numero</b></td> <td ><b>Nom</b></td> <td ><b>Prenom</b></td> <td ><b>genre</b></td> <td ><b>Date de Naissance</b></td> <td><b>Date D'embauche</b></td> <td ><b>Salaire Brut</b></td> <td ><b>Sitmat</b></td> <td ><b>Nombre D'enfant</b></td> <td ><b>Telephone</b></td> <td ><b>Email</b></td> <td ><b>Loisir</b></td> </tr> <tr> <?php $result=mysql_query($query); $row=mysql_fetch_array($result); if(!$row) { echo "Aucune ligne trouvée"; } else { while($row=mysql_fetch_row($result)) {
?>
<td width="100"><?php echo $row[0];?></td> <td width="100"><?php echo $row[1];?></td> <td width="100"><?php echo $row[2];?></td> <td width="100"><?php echo $row[3];?></td> <td width="100"><?php echo $row[4];?></td> <td width="100"><?php echo $row[5];?></td> <td width="100"><?php echo $row[6];?></td> <td width="100"><?php echo $row[7];?></td> <td width="100"><?php echo $row[8];?></td> <td width="100"><?php echo $row[9];?></td> <td width="100"><?php echo $row[10];?></td> <td width="100"><?php echo $row[11];?></td> </tr> </table> <?php } } } ?>
</body> </html> Je veux savoir s’il n’y’a pas un moyen de connaitre les champs choisis par l’utilisateur afin de lancer une seule requête « SELECT »,ce qui serait vraiment merveilleux, sinon je ne crois pas pouvoir m’en sortir avec une requête pour toutes les combinaisons de choix possible vu qu’un utilisateur peut choisir autant de critères en plus.je sais également que la clause « limit » permet de limiter la liste de recherche, mais comment faire pour pouvoir les afficher page par page ? 3°) j’ai crée un formulaire d’ajout d’employés dans ma base avec une option photo,mais sa ne marche pas et je ne comprend pas pourquoi. Aidez moi. Voici le code d’ajout : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Aout</title> </head>
<body> <?php function afficherformulaire ($u = '', $error = '') { if ($error != '') echo '<font color="red">' . $error . '</font>'; ?> <form enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <input type="hidden"name="MAX_FILE_SIZE"value="1000000"> <table width="600" height="200" border="0"> <tr> <td width="100"> <b>Numero:</b><input name="numero" /><br/> </td></tr> <tr><td width="250"> <b>Nom:</b><input type="text" value="<?php echo $u; ?>"><br/> </td></tr> <tr><td width="100"> <b>Prenom: </b><input /><br/> </td></tr> <tr><td width="100"> <b>Genre:</b><input type="radio" value="masculin"/>Masculin<input name="genre" value="feminin"/>Feminin<br/> </td></tr> <tr><td width="100"> <b>Date de Naissance:</b><input /><br/> </td></tr> <tr><td width="100"> <b>Date D'embauche:</b><input name="datembauche" /><br/> </td></tr> <tr><td width="100"> <b>Salaire Brut:</b><input /><br/> </td></tr> <tr><td width="100"> <b>Situation Matrimoniale:</b><input value="celibataire" />Celibataire<input name="sitmat" value="marie" />Marié<input name="sitmat" value="veuf" />Veuf<input type="radio" value="divorce" />Divorcé<br/> </td></tr> <tr><td width="100"> <b>Nombre D'enfants:</b><input /><br/> </td></tr> <tr><td width="100"> <b>Numero de Télephone:</b><input /><br/> </td></tr> <tr><td width="100"> <b>Email:</b><input type="=text" /><br/> </td></tr> <tr><td width="100"> <b>Photo:</b><input type="file" /><br/> </td></tr> <tr><td width="100"> <b>Loisirs: </b><input value="cinema" />Cinéma<input name="loisir" value="musique" />musique<input type="radio" value="litterature" />Littérature<input value="sport" />Sport<input name="loisir" value="religion" />Réligion<input type="radio" value="television" />Télévision<input value="politique" />Politique<br/> </td></tr> <tr><td align="center" > <input type="submit" value="envoyer" /> </td></tr> </table> </form> <!-- <script> function onValider() { if (document.formulairajout.numero.value == '') { alert("Veuiller taper un numero."); return false; }--> <?php }//fin fonction $link=mysql_connect("localhost","root","pytheas"); $db=mysql_select_db("grh"); if (!isset ($_POST["valider"]) ) afficherformulaire (); else { $numero=$_POST['numero']; $nom=$_POST['nom']; $prenom=$_POST['prenom']; $genre=$_POST['genre']; $datnaiss=$_POST['datnaiss']; $datemb=$_POST['datembauche']; $salbrut=$_POST['salbrut']; $sitmat=$_POST['sitmat']; $nbenf=$_POST['nbenf']; $tel=$_POST['tel']; $mail=$_POST['mail']; $photo = $_POST['maphoto']; $loisir=$_POST['loisir']; $link=mysql_connect("localhost","root","pytheas"); $db=mysql_select_db("grh"); // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur if (isset($_FILES['maphoto']) AND $_FILES['maphoto']['error'] == 0) { // Testons si le fichier n'est pas trop gros if ($_FILES['maphoto']['size'] <= 1000000) { // Testons si l'extension est autorisée $infosfichier = pathinfo($_FILES['maphoto']['name']); $extension_upload = $infosfichier['extension']; $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png'); if (in_array($extension_upload, $extensions_autorisees)) { move_uploaded_file($_FILES['maphoto']['tmp_name'], 'DossierImage/' . basename($_FILES['maphoto']['name'])); } } }
if($genre=='masculin') $sex='Monsieur'; else $sex='Madame'; if($numero=='') { $sortie='numero';
} elseif($nom=='') { $sortie='nom'; afficherformulaire($nom,$sex.$nom."Veuiller remplir le champ".$sortie); } elseif($prenom=='') { $sortie='prenom'; afficherformulaire($nom,$sex.$nom."Veuiller remplir le champ".$sortie); } elseif($genre=='') { $sortie='genre'; afficherformulaire($nom,$sex.$nom."Veuiller remplir le champ".$sortie); } elseif($datnaiss=='') { $sortie='datnaiss'; afficherformulaire($nom,$sex.$nom."Veuiller remplir le champ".$sortie); } elseif($datemb=='') { $sortie='datemb'; afficherformulaire($nom,$sex.$nom."Veuiller remplir le champ".$sortie); } elseif($salbrut=='') { $sortie='salbrut'; afficherformulaire($nom,$sex.$nom."Veuiller remplir le champ".$sortie); } elseif($sitmat=='') { $sortie='sitmat'; afficherformulaire($nom,$sex.$nom."Veuiller remplir le champ".$sortie); } elseif($nbenf=='') { $sortie='nbenf'; afficherformulaire( $nom,$sex.$nom." Veuiller remplir le champ".$sortie); } elseif($tel=='') { $sortie='telephone'; afficherformulaire($nom,$sex .$nom."Veuiller remplir le champ".$sortie); } elseif($mail=='') { $sortie='email'; afficherformulaire($nom,$sex .$nom."Veuiller remplir le champ".$sortie); } elseif($photo=='') { $sortie='photo'; afficherformulaire($nom,$sex .$nom."Veuiller remplir le champ".$sortie); } else { $sortie='loisir'; afficherformulaire($nom,$sex.$nom."Veuiller remplir le champ".$sortie); } $query='insert into employes values("'.$numero.'","'.$nom.'","'.$prenom.'","'.$genre.'","'.$datnaiss.'","'.$datemb.'","'.$salbrut.'","'.$sitmat.'","'.$nbenf.'","'.$tel.'","'.$mail.'","'.$photo.'","'.$loisir.'")'; $result=mysql_query($query); mysql_close();
}
?> </body> </html>
Je reconnais que j’ai été très long, aidez moi. Merci.
| |||||||||||||||
Publicité | ||||||||||||||||
| ||||||||||||||||
![]() ![]() | Salut,
Dans une configuration Apache/PHP, la première page cherchée à l'appel d'un dossier est index.php puis (si non existant) index.html et enfin index.htm C'est un comportement qui peut être modifié dans la configuration avancée d'Apache. Pour que le formulaire soit la première chose que voient les gens, il suffit de le mettre sur la page d'index.
Pour ton souci de session, ce que je peux te conseiller c'est de mettre une variable en session qui est le début de l'heure de connexion : une fois que l'utilisateur a validé login/mot de passe et que ton serveur a fait la correspondance avec la base de données, tu remplis tes variables de session. Il suffit d'en rajouter une comme ceci :
en tête de chaque page, tu n'auras plus qu'à voir si entre "maintenant" et le début de la session il s'est écoulé ou non plus de 5 min :
ATTENTION, cette manip signifie que quoi que fasse la personne, il n'a QUE 5 min pour le faire, passé ce délai, il devra obligatoirement se reconnecter !!! ça veut dire qu'il peut avoir le temps de voir 1 page comme 50, il n'a droit qu'à 5 minutes de surf ...
Il peut y avoir une autre modif (parce que tu ne le dis pas, donc pour moi ce que je viens de dire répond à 100% à ta question) qui permet de rafraichir la session de l'utilisateur, de façon à ce que s'il ne fait rien pendant 5 min, il soit déconnecté, mais autrement s'il navigue de page en page, il ne sera pas déconnecté au bout des 5 minutes. Pour cela, au lieu du code ci-dessus, il faut utiliser celui-là :
Avantage : à chaque page visitée, sa date de dernière action est rafraichie. Il n'a don,c pas la limite des 5 min énoncée plus haut (sauf en cas d'inaction) Inconvénient : bah il peut naviguer pendant 1h ou 3h toujours connecté ... tant qu'il rafraichit une page au pire toutes les 4 min 59sec ...
Pour le reste, j'ai pas eu le courage de tout lire, c'est trop brouillon : ce forum ne permet pas la mise en forme de code source, donc : 1) réduis le code de façon à montrer les lignes là où ça plante 2) évite au maximum "ça marche pas" : ça ne veut strictement rien dire. Si "ça marche pas", je n'ai plus qu'à te répondre "tant pis !" Si tu veux plus d'aide, donne : - les modifs faites dans la page - les actions faites sur ton navigateur - ce que tu attends - les éventuels messages d'erreur Plus tu seras précis dans ce que tu veux/ce que t'obtiens/l'erreur, plus on pourra l'être pour t'aider.
ça sera tout pour le moment. | |||||||||||||||
Petit astucien | Merci bien pour les conseils et les reponse,je crois que la deuxieme option correspond le plus a mon besoin,effectivement je veux que si l'utilisateur connecté ne fasse rien au bout de 5mn,qu'il soit amené à se reconnecté afin de continuer. mon premier probleme etant resolu je propose le 2eme,en fait ci déssous est mon formualire de recherche multicriteres,il est demandé à l'utilisateur de choisir des critères de recherche,l'utilisateur peut choisir de remplir,un deux,trois ou plus criteres.j'aimerais savoir si il n'existe un moyen de savoir quels critere(s) l'utilisateur à rempli ou cocher pour ne lancer que un ou deux "SELECT" pour afficher les resultats en fonction de ces criteres ou qu'il faut pour toutes les possibilites de choix que peut faire l'utilisateur lancer une requete "SELECT"?c'est ce que je tente de faire mais je n'arrive pas à m'en sortir.voici un bout de mon code. if($numero !='') Aussi j'aimerais que si le nombre de resultat est 20 par exemple qu'on l'affiche 5 par page.je sais que la clause "LIMIT"permet de limiter les resultat mais maitenant comment pouvoir les affichés de page en page.j'espere avoir été un plus explicite cette fois ci.Merci d'avance
| |||||||||||||||
![]() ![]() | Sur l'aspect "conception" ce code est assez "pourri" ... en cas d'ajout de X champs supplémentaires, t'as X*10 lignes à ajouter, ce qui va à l'encontre même de la programmation :
principe : un bloc de code où on ne s'occupe que de l'affichage, et un autre bloc où on ne s'occupe que du traitement. ça permet de ne modifier que l'un ou l'autre sans devoir repasser sur tout. (Et dans l'idéal, un 3è bloc de gestion du tout).
Pour la grosse requête, tous les critères doivent être dans la clause "WHERE". la requête doit pouvoir se construire ainsi : $req = "SELECT * FROM la_table WHERE ("; if ($nom != '') { $req .= "nom = '".$nom."' OR "; } if ($prenom ......
$req .= ") ORDER BY id;"; // on ferme la parenthèse ouverte dans le Where, et après tu rajoutes ce que tu veux, un order by, un limit ... Ensuite n'hésite pas à afficher ta requête avant de l'exécuter. | |||||||||||||||
Petit astucien | Merci bien, je ne savait pas qu'on pouvait écrire une requete de cette façon là,avec des conditions à l'interieur.Je ne sais pas si je comprend bien le code,j'ai l'impression qu'il exécute un seul choix à la fois de l'utilisateur,s'il choisi l'un quelconque des options proposées dans le formulaire alors le code execute la requête correspondante,par exemple, s' il saisi ou coche "Nom,(Genre et date d'embauche(qui sont des boutons radio)) le resultat de la recherche sera relatif à Nom,ou Genre ou Date d'embauche.c'est ce que je crois comprendre du code,alors que moi j'aurai souhaité que pour deux choix ou plus, choisi par l'utilisateur que ma requête prenne en compte ces choix à la fois .Du genre:"SELECT * FROM EMPLOYES WHERE nom= $nom AND genre= $genre WHERE datemb=$datemb" par exemple.Merci | |||||||||||||||
![]() ![]() | Il suffit de mettre "AND" à la place de mon "OR" Attention dependant dans le long code posté plus haut, la première case à cocher de plusieurs items n'a pas de "name" ... par exemple civilité, on a bien name pour Marié mais pas pour célibataire. | |||||||||||||||
Petit astucien | merci bien bien pour ce coup de pousse je vous tiens au courrant des que je l'executerai,en fait voici mon dernier souci,mon formulaire d'ajout comporte un champ "photo" dont le name est "maphoto",en principe dès que je valide sur le bouton "Enregistrer il doit sauvegarder le chemin complet de la photo dans le champ correspondant dans la bd.En fait j'ai créer un dossier "projetweb" dans "mes documents" dossier qui contient mon site,et à l'interieur j'ai crée un sous dossier nommé "DossierImage"qui devrait contenir mes fichiers uploadés.C'est ce DossierImage là que j'utilise dans mon code également,vraiment je suis perdu,j'arrive pas à trouver l'erreur,aidez moi svp, dans mon code,jai fait de sorte qu' une erreur soit signalée dès que l'utilisateur omet de remplir un champ,lorsque je lance l'exécution tout semble se passer normalement,et meme que j'arrive à l'aide du bouton parcourir à aller chercher la photo,la charger mais des que je clique sur enregistrer il m'afficher un message d'erreur du genre: "Notice: Undefined index: maphoto in C:\Program Files\EasyPHP 3.0\www\formulairajout.php on line 89"{ Message d'erreur systeme le message géneré par mon code n'a vraiment pas lieu d'etre puisque le champ àn été renseigné,il n'est pas vide,il contient le chemin de la photo. je ne comprend pas non plus le deuxieme msg vu qu'à la ligne 89 tout semble à mon avis normal voici le code de la ligne 89: $photo=$_POST['maphoto'];//maphoto representant le name du champ photo
je vous propose quelque bout de mon code: //Voici comment j'ai défini ce champ dans mon formulaire: <tr><td width="100"> if (!isset ($_POST["valider"]) ) . . . elseif($photo=='') | |||||||||||||||
![]() ![]() | dans le formulaire, il faut lui indiquer qie tu peux télécharger une photo. ça vaut dire 1) tu DOIS utiliser une méthode "post" (ça visiblement tu le fais déjà) 2) tu DOIS mettre un paramètre à ta balise form comme ceci : <form id="..." method="post" action="..." enctype="multipart/form-data"> (peu importe l'ordre entre id, method, action et enctype)
une fois ceci fait t'as le input type="file" que tu as bien mis. Ensuite tu récupères un tableau $_FILES['name_de_ton_champ_file'] et là tu peux uploader ton fichier. Par contre tu ne récupèreras rien du chemin, au mieux tu auras juste le nom du fichier. C'est à toi de manuellement faire l'association pour ta base de données $_FILES['name_de_ton_champ_file']['name'] + $chemin (ton chemin où tu mets le fichier téléchargé). | |||||||||||||||
![]() ![]() | pour compéter ma réponse : un input type="file" ne renverra rien dans $_POST. Il faut obligatoirement passer par $_FILES. | |||||||||||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
|