begin process at 2012 05 28 22:18:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

HELP !!! code php pas tout à fait ok


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

HELP !!! code php pas tout à fait ok

mardi 8 décembre 2009 à 12:50:47 | HELP !!! code php pas tout à fait ok

emetrem

Bonjour à tous /toutes,

Je débute complètement en php et même en html. il y a 6 mois je ne savais pas comment envoyer un site sur la toile !!! c'est vous dire que j'arrive de loin.

je réalise pendant mon temps libre une page perso pour mon voyage à l'étranger. La date du départ approche et mon code révèle des erreurs : je réalise un formulaire pour que mes amis réagissent à chaque post que j'éditerais en fonction de mes aventures.

mes problèmes :
- quand qq1 tape un commentaire et qu'il passe à la ligne dans son texte, se passage à la ligne n'apparait pas sur la page.
le texte est sur une seule ligne.
- il y a des anti-slach devant mes guillemets et mes apostrophes.
- l'heure de l'envoie du poste apparait sous forme de "0" : "Le 00/00/0000 à 00:00 ..." (sur ma table, dans type, j'ai sélectionné "datetime")

voici mon code :
<div id="livre_or">
<?php

if (isset($_POST['nom']) AND isset($_POST['commentaire']))
{
if($_POST['nom']!= NULL AND $_POST['commentaire']!= NULL)
{
mysql_connect("localhost","page_perso","mot_de_passe");
mysql_select_db("base_de_donnees");

$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
$commentaire = mysql_real_escape_string(htmlspecialchars($_POST['commentaire']));
$commentaire = nl2br($commentaire);
$temps = date('d/m/Y', time());

mysql_query("INSERT INTO table VALUES('','$nom','$commentaire','$temps')");

mysql_close();
}
}
?>

<?php
mysql_connect("localhost", "page_perso", "mot_de_passe");
mysql_select_db("base_de_donnees");

// Combien de commentaires ?
$retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM 10jan01");
$donnees = mysql_fetch_array($retour);

mysql_close();
?>

<div class="commentaires">
<h5><?php echo $donnees['nbre_entrees']; ?> commentaires</h5><br/>

<?php
//ici, j'ecris sur ma page

mysql_connect("localhost","page_perso","mot_de_passe");
mysql_select_db("base_de_donnees");

$reponse = mysql_query("SELECT*FROM 10jan01 ORDER BY id ");

mysql_close();

while($donnees = mysql_fetch_array($reponse))
{

?>

<?php sscanf($donnees['temps'], "%4s-%2s-%2s %2s:%2s", $annee, $mois, $jour, $heure, $minute); ?>

<p><strong>Le <?php echo $jour.'/'.$mois.'/'.$annee.' à '.$heure.':'.$minute; ?>, <em><?php echo $donnees['nom'];?></em> à écrit :</strong><br/><br/>

<?php echo $donnees ['commentaire'];?></p><br/><br/>

<?php
}
?>
</div>

<div class="formulaire">

<h4>Laissez vos commentaires</h4>
<form method="post" action="blog-01.php">
<p>
<input type="text" name="nom" id="nom" size="30" tabindex="10"/>
<label for="nom">Nom (obligatoire)</label><br/><br/>
<label for="commentaire">votre commentaire</label><br />
<textarea name="commentaire" id="commentaire" rows="10" cols="50" tabindex="30"></textarea>
</p>

<p><input type="submit" value="valider" /> <input type="reset" value="effacer"/></p>

</form>

</div>
mardi 8 décembre 2009 à 13:05:31 | Re : HELP !!! code php pas tout à fait ok

neigedhiver

Salut,

C'est assez courageux de se lancer dans une telle aventure... Tu aurais tout aussi bien pu utiliser un blog comme Wordpress, tu y aurais gagné en temps... Mais tu aurais beaucoup moins appris ;)

Pour les retours à la ligne : dans un champ de formulaire textarea, les retours à la lignes sont matérialisés par un caractère retour chariot : \n ou \n\r
Pour les afficher, il faut utiliser la fonction nl2br() de PHP qui convertit ces caractères (non-imprimables) en balise HTML <br />

Pour les antislash : où apparaissent-ils exactement ? Sur la page quand tu affiches un commentaire qui vient de la base de données ? Il faut utiliser la fonction PHP stripslashes() qui supprimera ces caractères.

Enfin pour la date que tu enregistres, tu ne passes pas le bon format. Jette un oeil à la doc MySQL.

Le type DATETIME est prévu lorsque vous souhaitez stocker une date et une heure. MySQL affiche les valeurs de type DATETIME au format &#8216;AAAA-MM-JJ HH:MM:SS&#8217;. L'intervalle de validité va de &#8216;1000-01-01 00:00:00&#8217; à &#8216;9999-12-31 23:59:59&#8217;. (``validité'' signifie que même si d'autres valeurs plus anciennes peuvent être manipulées, il n'est pas garantit qu'elles le seront).



Tu as aussi la possibilité de laisser MySQL définir la date et l'heure lors de l'insertion d'un nouveau commentaire, en définissant la valeur par défaut à
ON UPDATE CURRENT_TIMESTAMP (cf la doc)

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
mardi 8 décembre 2009 à 14:30:22 | Re : HELP !!! code php pas tout à fait ok

emetrem

merci d'avoir répondu si rapidement !

En effet, si je me suis embarqué dans une telle entreprise, c'est que j'ai trouvé ça très intéressant. ça permet de voir autre chose que son propre job

revenons à nos moutons !

- pour les antislash : ton code fonctionne ! je n'ai plus de pb à ce niveau.
- pour le passage à la ligne : j'avais déjà écris nl2br() dans mon code et ça ne marchait pas, je ne sais pas ce que j'ai bidouillé mais maintenant à la place du passage à la ligne il y a des "m". Même dans ma base de données : avant le texte passait à la ligne et maintenant, il y a ce fameux "m" sans passer à la ligne.
- pour la date : il y a toujours des "0" partout et je ne vois pas quelle est mon erreur, même après avoir lu dans le doc .
mardi 8 décembre 2009 à 15:36:17 | Re : HELP !!! code php pas tout à fait ok

neigedhiver

Re,

Pour le "m", je pense que tu as fait quelque chose quelque part qui le rajoute... PHP ne fait pas ça tout seul sans qu'on lui demande.

Pour le passage à la ligne, je ne sais pas où tu le fais : je pense qu'il est préférable de l'exécuter avant l'insertion dans la base de données sur le texte du message.

Pour la date, c'est cette ligne là qui ne va pas :
Code PHP :
$temps = date('d/m/Y', time()); 

Ca ne produit pas une valeur du bon format. Il faut que la date que tu génères à cette ligne soit dans le format : AAAA-MM-JJ HH:MM:SS
Donc je pense plutôt quelque chose comme ça :
Code PHP :
$temps = date('Y-m-d G:i:s');


Personnellement, d'une manière générale, j'utilise de préférence un timestamp unix (stocké dans un champ de type INT UNSIGNED dans la base de données), valeur retournée par time(). C'est cette valeur que je stocke, et j'affiche la date dans le format que je veux avec date() ou gmdate(), ou encore mieux, avec un objet DateTime(). Ainsi, je sais que dans ma base de données j'ai TOUJOURS le nombre de secondes écoulées depuis le 1er janvier 1970 (un timestamp unix quoi). C'est une des valeurs les plus faciles à manipuler (les types de colonnes de date et heure de MySQL sont assez pénibles à utiliser parce qu'ils sont formatés d'une certaine manière qui oblige à les convertir ensuite).

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)


Cette discussion est classée dans : help, ligne, code, php, ok


Répondre à ce message

Sujets en rapport avec ce message

Le code PHP me crée des ligne vide [ par microdevweb ] Bonjour, Voila j'ai un petit problème je crée un page php qui en appelle telle ou telle autre page suivant le cas avec la fonction require. Il sembler PHP & WANADOO... [ par lard ] Bonjour !Simple question:Pour l'instant, je suis abonné à Wanadoo (personne n'est parfait...) et j'ai voulu mettre en ligne une simple page Web conten Script compliqué ! Help :) [ par motherboy ] Bonjour à tous,Je m'explique brièvement.J'ai un script PHP a codé, mais malgré mes compétences je rame :/Principe du code à effectuer :1) Lire un fich help pour .php?image=04 par exemple [ par ooiimm ] Salut j'aimerais savoir le code à insérer dans une page nommée par exemple afficher.php Alors j'explique Ca serait une gallerie photo, quand on cliq Code propre [ par semprecorsu2b ] Bonjour à tous,j'aimerais savoir comment faire un code php propre :je m'explique quand on écrit en HTML, si dans notre code on va à la ligne, le code suppression ligne par ligne mysql en php avec confirmation [ par cbst ] Salut, j'ai débuté en php. voilà notre pbme, j'ai crée en php une code pour supprimer une ligne précise de table demande après une confirmation en jav erreur dans un code [ par esteller ] Bonjour à tous.je n'arrive pas à afficher les éléments de l'employé selectionné pour la modification.Mais si je met: [code=php] [/code] quelque soit execution d'un fichier PHP en ligne de commande [ par briant86 ] Bonjour à tous, Voici mon problème, j'exécute un fichier PHP en ligne de commande qui doit lire chaque ligne d'un fichier txt et les envoyer par mail [HELP] Probleme variable ' " . + [ par iamslyper ] Bonjour, Je suis en train de peter un cable complet. Si quelqu'un peut m'aider avec ceci : En gros, je dois inserer ceci [code=php]modifForm('add','


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales