erreur:-S

Eléphant du PHP | 84 Messages

06 mai 2005, 14:31

Bonjour :)
Il y a une erreur dans se script enfin... toute la page s'afiche mais quen j'envoi le contenue du formulaire, cela n'envoi rien dans la table
<html>
<head>
<title>°OoAAFgtnoO°</title>
<head>
<body>
<p>Bienvenue sur l'administeation des news:</p>
<fieldset><legend align="center">News</legend><form action="news.php" method="POST"/><p>
<input type="hidden" value="<?
$timestamp = time();
echo "date('d m y /a h/hi','".$timestamp."')";
?>" name="date"/>
<label>TITRE: <input type="test" name="titre" value="titre"/></label></br>
<label>Com: <textarea type="text" name="com" cols="20" rows="15">Votre commentaire</textarea></label></p>
<input type="submit" value="lancer la news"/></form></fieldset>
<?
if(isset($_POST['com']) and isset($_POST['titre']) and isset($_POST['date']))
{
if($_POST['com']!=null and $_POST['titre']!=null)
{
$titre=$_POST['titre'];
$com=$_POST['com'];
$date=$_POST['date'];
mysql_connect('localhost','root');
mysql_select_db("gtn");
mysql_query("INSERT INTO news value('','".$titre."','".$com."','".$date."')");
mysql_close();
echo 'news envoyer';
}
else
{
echo 'REMPLISSER LES CHAMP';
}
}
?>
</body>
<html>
~~Jojo~~

ViPHP
ViPHP | 2144 Messages

06 mai 2005, 14:33

Décidement tu ne sais pas lire ou bien te moques-tu des membres de ce forum ???

ViPHP
fab
ViPHP | 2657 Messages

06 mai 2005, 18:36

un peu de politesse ne te ferais pas de mal...
c'est quoi ton message d'erreur ?
si tu nous donnes rien on ne pourras pas t'aider ....

Mammouth du PHP | 19672 Messages

06 mai 2005, 19:03

jojo, je vais faire preuve de bonté et te mettre un formulaire qui devrait mieux fonctionner. J'ai pris le temps de regarder un peu ton code, au moins je note un effort certain dans l'écriture de code propre, c'est bien. Il te reste à acquérir la logique et là, c'est moins évident. Essaye de suivre le raisonnement, j'ai ajouté des commentaires. J'espère que ça te servira à quelque chose, sinon, je suis sûr que de toute façon d'autres y trouveront leur bonheur.
<html>
<head>
<title>°OoAAFgtnoO°</title>
<head>
<body>
<p>Bienvenue sur l'administration des news:</p>
<?
/* On vérifie si le bouton d'envoi a été cliqué */
if(isset($_POST['com']))
{
    /* On vérifie que les champs du formulaire on correctement été remplis (tous les deux) */
    if($_POST['com']!= "" || $_POST['titre']!= "")
    {
        $titre=$_POST['titre'];
        $com=$_POST['com'];
        $date=$_POST['date'];
        mysql_connect('localhost','root');
        mysql_select_db("gtn");
        $enregistrement = mysql_query("INSERT INTO news value('','".$titre."','".$com."','".$date."')");
        mysql_close();
        /* On vérifie que l'enregistrement n'a pas renvoyé FALSE */
        if($enregistrement)
        {
            echo("<p>news envoyer</p>\n");
        }
        else
        {
            echo("<p>Un incident s'est produit et l'enregistrement n'a pas eu lieu</p>\n");
        }
    }
    else
    {
        /* Il reste des champs vides, on affiche le message d'avertissement et à nouveau le formulaire */
        echo 'VEUILLEZ REMPLIR LES CHAMP VIDES';
?>
<form action="news.php" method="POST"/>
<fieldset>
<legend align="center">News</legend>
<input type="hidden" value="<? echo date('Y-m-d h:i'); ?>" name="date" />
<label>TITRE: <input type="test" name="titre" value="<?php echo($titre) ?>"/></label></br>
<label>Com: <textarea type="text" name="com" cols="20" rows="15"><?php echo($com); ?></textarea></label></p>
<input type="submit" value="Lancer la news"/>
</fieldset>
</form>
<?php
    }
}
else
{
    /* Le bouton d'envoi n'a pas été cliqué, on affiche le formulaire vide */
?>
<form action="news.php" method="POST"/>
<fieldset>
<legend align="center">News</legend>
<input type="hidden" value="<? echo date('Y-m-d h:i'); ?>" name="date" />
<label>TITRE: <input type="test" name="titre" value="titre"/></label></br>
<label>Com: <textarea type="text" name="com" cols="20" rows="15">Votre commentaire</textarea></label></p>
<input type="submit" value="Lancer la news"/>
</fieldset>
</form>
<?php
}
?>
</body>
<html>
Un détail, j'ai supposé que la date est au format DATETIME dans ta base et j'ai modifié le bafouillis dans ton champ caché.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 84 Messages

06 mai 2005, 19:09

Il n'y a pas d'erreur : le formulaire envoyer la table sql reste vide pour temps j'ai beau vérifier c'est la bonne bdd la bonne table et le bonne ordre (bdd = gtn) (table=news) (ordre "id,titre,com,date")
voila le code :
<html>
<head>
<title>°OoAAFgtnoO°</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<head>
<body>
<p>Bienvenue sur l'administeation des news:</p>
<fieldset><legend align="center">News</legend><form action="news.php" method="POST"/><p>
<input type="hidden" value="<?
$timestamp = time();
echo "date('d m y /a h/hi','".$timestamp."')";
?>" name="date"/>
<label>TITRE: <input type="test" name="titre" value="titre"/></label></br>
<label>Com: <textarea type="text" name="com" cols="20" rows="15">Votre commentaire</textarea></label></p>
<input type="submit" value="lancer la news"/></form></fieldset>
<?
if(isset($_POST['com']) and isset($_POST['titre']) and isset($_POST['date']))
{
if($_POST['com']!= null and $_POST['titre'] != null and $_POST['date'] != null)
{
$titre=$_POST['titre'];
$com=$_POST['com'];
$date=$_POST['date'];
mysql_connect('localhost', 'root');
mysql_select_db("gtn");
mysql_query("INSERT INTO news VALUES('','".$titre."','".$com."','".$date."')");
mysql_close();
echo 'news envoyer';
}
else
{
echo 'REMPLISSER LES CHAMP';
}
}
?>
</body>
<html>
excuser moi pour les faute je fait de mon mieux j'écrie mes message sur worde le plus souvent possible!...
Encore desoler...
iclo il ne faut non plus pas pousser :roll:
~~Jojo~~

Mammouth du PHP | 19672 Messages

06 mai 2005, 19:12

Ce qui est probable jojo, c'est que dans ta table, tu dois avoir des champs en NOT NULL et si tu envoies des données vides, il n'enregistrera rien.

D'autre part, si tu envoies des données dans un format inapproprié, l'enregistrement sera refusé aussi.

Si ce que j'ai mis plus haut ne fonctionne pas, reviens avec la structure de ta table.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 84 Messages

06 mai 2005, 19:32

Merci
Oui ton code marche à pare la date qui n’affiche que l’année mais c'st un petit probleme...
Qua tu vraiment modifier qui a arranger l’erreur?
Je viens de relire ton code et je ne trouve pas ce qui a résolue l’erreur.
~~Jojo~~

Mammouth du PHP | 19672 Messages

06 mai 2005, 19:36

Je serais tenté de te dire : imprime ton code, imprime le mien et mets les deux feuilles l'une à coté de l'autre : tu verras toi-même les différences: il est important que tu découvres toi-même ce qui clochait dans ton code, sinon, tu referas les mêmes erreurs.

Une chose aussi : quand tu écris du code, mets une indentation pour te repérer beaucoup plus facilement et rapidement. Quand tout le code est collé à gauche, il est difficile de suivre et de trouver le début ou la fin d'une routine d'instructions.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 84 Messages

06 mai 2005, 20:03

Voila le code, j'ai imprimer comme tu a dit j'ai modifier mon code il me semble jumeler au tien il y manque juste les commentaire et toute est a gauche (je ferai attention a sa sur mes prochain code :wink: ) pourtant...
:cry: j'en peux plus :-|
J’ai pourtant relue ligne par ligne
<html>
<head>
<title>°OoAAFgtnoO°</title>
<head>
<body>
<?
if(isset($_POST['com']) and isset($_POST['titre']) and isset($_POST['date']))
{
if($_POST['com']!= "" || $_POST['titre'] != "")
{
$titre=$_POST['titre'];
$com=$_POST['com'];
$date=$_POST['date'];
mysql_connect('localhost', 'root');
mysql_select_db("gtn");
$enreg=mysql_query("INSERT INTO news VALUE('','".$titre."','".$com."','".$date."')");
mysql_close();
if($enreg)
{
echo '<p>news envoyer</p>';
}
else
{
echo 'ERREUR';
}
}
else
{
echo '<p>remplisser les champ</p>';
?><p>Bienvenue sur l'administeation des news:</p>
<form action="news.php" method="POST"/><p>
<fieldset>
<legend align="center">News</legend>
<input type="hidden" value="<?echo "date('d m y /a h/hi')";?>" name="date"/>
<label>TITRE: <input type="text" name="titre" value=<? echo ($titre);?>/>
</label></br>
<label>Com: <textarea type="text" name="com" cols="20" rows="15"><? echo($com)?></textarea></label></br>
<input type="submit" value="lancer la news"/>
</fieldset></p>
</form>
<?
}
}
else
{
?><p>Bienvenue sur l'administeation des news:</p>
<form action="news.php" method="POST"/><p>
<fieldset>
<legend align="center">News</legend>
<input type="hidden" value="<?echo "date('d m y /a h/hi')";?>" name="date"/>
<label>TITRE: <input type="text" name="titre" value="titre"/>
</label></br>
<label>Com: <textarea type="text" name="com" cols="20" rows="15">Votre commentaire</textarea></label></br>
<input type="submit" value="lancer la news"/>
</fieldset></p>
</form><?
}
?>
</body>
<html>
~~Jojo~~

Mammouth du PHP | 19672 Messages

06 mai 2005, 20:16

Ce que je ne sais pas c'est si ton propre code corrigé fonctionne... :?: et sinon as-tu un message d'erreur ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 84 Messages

06 mai 2005, 20:20

Aucun message d’erreur a pare le mien « errore » quant php vérifie mysql_query(« INSERT INTO news value() »)
Ma table reste toujours vide je c’est plus ou donner de la tête
~~Jojo~~

Mammouth du PHP | 19672 Messages

06 mai 2005, 20:26

Je viens de trouver, il y a un détail que je n'avais pas vu: comme quoi, il est important de bien écrire sans faire de fautes : dans la requête d'insertion, il faut mettre "VALUES" et non "VALUE"
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 84 Messages

06 mai 2005, 20:34

Bien malheureusement Value marche aussi bien :cry: rajouter un S n'arrange rien :? j'ai déjà essayer et je viens de réessayer de plus ton code marche et values est écrit sen S
:shock: c'est confu tout sa
~~Jojo~~

Mammouth du PHP | 19672 Messages

06 mai 2005, 20:45

J'ai encore trouvé autre chose:
D'abord, je confirme, c'est VALUES AVEC un S

regarde la première alternative if() : la tienne :
if(isset($_POST['com']) and isset($_POST['titre']) and isset($_POST['date']))
J'ai encore laissé passer un truc : ton bouton submit n'a pas d'attribut name;
Ajoute un attribut name="envoi" et remplace la ligne ci-dessus par:
if(isset($_POST['envoi'])
Ensuite, tu n'as pas recopié correctement : regarde ton formulaire :
<input type="hidden" value="<?echo "date('d m y /a h/hi')";?>" name="date"/>
C'est quoi cette valeur d'attribut ?? tu appelles une fonction date entre guillemets, c'est pris comme une chaine de caractères et ça n'est plus au format approprié, donc, ça n'enregistre plus.
Ce que j'avais fait, c'est mettre la date au format AAAA-mm-jj hh:mn
Avec ton système, tu n'obtiens rien du tout ou plutot, tu essayes d'enregistrer "date('d m y /a h/hi')" tel quel.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 84 Messages

06 mai 2005, 20:55

!!! sa marche !!!
:lol: :lol: :lol: le probleme venait de la date
Merci beaucoup c'est la 1er foi que j'ecrivai la date de cette maniere
en generale je fait
$date = date(H/hi);
echo 'Bienvenue il est'.$date.'.';
:P encore merci :wink:
~~Jojo~~