[PHP] probleme basique :/

Fermé
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019 - 31 juil. 2015 à 20:08
BioK03 Messages postés 655 Date d'inscription mardi 15 avril 2014 Statut Membre Dernière intervention 24 décembre 2016 - 31 juil. 2015 à 21:24
Hello ;)

voila j'ai un probleme dans mon code php :/

voici le message d'erreur :
Notice: Undefined index: title in C:\wamp\www\blog\admin\edit.php on line 3


et voila mon code php+html :

<?php

if (trim($_POST['title'])) {
$fileName = strtolower($_POST['title']);
$originCharacters = 'àçéèêîôù';
$destinCharacters = 'aceeeiou';
$fileName = strtr($fileName, $originCharacters, $destinCharacters);
$fileName = preg_replace('/[^a-z0-9-]/','-', $fileName);
$fileName = 'posts/'.$fileName.'.md';
$metaData['title'] = $_POST['title'];
$fileContent = json_encode($metaData)."\n";
$fileContent.= strip_tags($_POST['content']);

if (file_put_contents($fileName, $fileContent)) {
header('Location : main/php');
exit;
}else {
$err = '<p style="color:red;border:1px solid black;background-color:yellow;width:285px;padding:5px;">Impossible d\'enregistrer le fichier'.$fileName.'</p>';
}

} else{
$err = '<p style="color:red;border:1px solid black;background-color:yellow;width:285px;padding:5px;">Titre inssufisant</p>';
}

?>

<!DOCTYPE html>
<html>
<head>
<title>Website</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Bienvenue dans le blog minecraft !">
</head>
<body>
<h1>Creer / editer un article</h1>
<?php
if(isset($err)) {
echo $err;
}
?>
<p>ici vous pouvez modifer ou creer des articles a votre guise</p>
<form method="post">
<label for="title">Titre de l'article</label> <input type="text" name="title" id="title">
<br>
<label for="content">Contenu</label>
<br>
<textarea id="content" rows="25" cols="60" name="content"></textarea>
<br>
<input type="submit" value="Creer l'article">
</form>
</body>
</html>


si quelqu'un a une solution je suis preneur :D merci d'avance ^^



A voir également:

2 réponses

BioK03 Messages postés 655 Date d'inscription mardi 15 avril 2014 Statut Membre Dernière intervention 24 décembre 2016 132
31 juil. 2015 à 20:09
Bonjour, essayez :

if (isset($_POST['title'] && trim($_POST['title'])) {

Cela devrait fonctionner.

Cordialement
0
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019
31 juil. 2015 à 20:10
j'essaie sa tout de suite :D merci de ta réponse aussi rapide mdr oO'
0
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019
31 juil. 2015 à 20:12
malheureusement, sa ne fonctionne pas, maintenant sa m'affiche sa :
Fatal error: Cannot use isset() on the result of an expression (you can use "null !== expression" instead) in C:\wamp\www\blog\admin\edit.php on line 3
0
BioK03 Messages postés 655 Date d'inscription mardi 15 avril 2014 Statut Membre Dernière intervention 24 décembre 2016 132
31 juil. 2015 à 20:15
Excuse moi, j'ai fait une faute :
if (isset($_POST['title']) && trim($_POST['title'])) {
0
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019 > BioK03 Messages postés 655 Date d'inscription mardi 15 avril 2014 Statut Membre Dernière intervention 24 décembre 2016
31 juil. 2015 à 20:28
merci ;) mais j'aimerai avoir une petite explication histoire de comrpendre mon erreur et pas la refaire :D sinon merci encore :)
0
BioK03 Messages postés 655 Date d'inscription mardi 15 avril 2014 Statut Membre Dernière intervention 24 décembre 2016 132
31 juil. 2015 à 20:30
La fonction isset permet de savoir si il y a quelque chose dans la case 'title' du tableau $_POST. Il faut donc regarder si il y a quelque chose (donc si on l'a set à la page précédente via par exemple un formulaire) avant de l'utiliser. Si elle n'est pas set, isset retourne false et on ne rentre pas dans la boucle.

En espérant avoir été clair, bonne soirée :)
0
phenetas Messages postés 1108 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 31 août 2017 225
31 juil. 2015 à 20:10
Ce que tu transmet avec la méthode POST est bien nommé "title" ?
0
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019
31 juil. 2015 à 20:15
c'est a dire ,? j'ai mit tout mon code donc jsp :/ merci de la reponse :D
0
phenetas Messages postés 1108 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 31 août 2017 225
31 juil. 2015 à 20:23
Le code d'erreur t'indique la ligne 3, donc c'est celle la "if (trim($_POST['title'])) {"

Cette ligne récupère quelque chose qui provient d'une autre page via la méthode POST, je te demandais, si ce qui provient de la page précédente s'appelle bien "title" ?
0
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019 > phenetas Messages postés 1108 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 31 août 2017
31 juil. 2015 à 20:27
c'est bon biok03 a trouvé :D merci quand meme :D
0