| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
B2N Nain-stallé(e)

Inscrit le: 13 Déc 2003 Messages: 395
|
Posté le: Jeu 19 Aoû, 2004 14:43 Sujet du message: Script Php/MySQL pour news |
|
|
J'ai besoin d'aide, j'ai fait un script php/MySQL et il ne marche pas.
Voici l'endroit ou il y a le probleme :
| Code: | if ($nom <>"" AND $note <>"") //C'est cette ligne qui a un probleme.
{
mysql_query("INSERT INTO news(nom, date, note)
VALUES('$nom', SYSDATE(),'$note')")
or die("mise à jour impossible");
} |
Pour préciser, $nom est le titre de la news et $note, c'est le texte.
Si quelqu'un veut bien m'aider, je suis connecter sur MSM Messenger = bout_2_nain@hotmail.com |
|
| Revenir en haut de page |
|
 |
Daimonos Tereutes Bot v1.45

Inscrit le: 07 Mai 2002 Messages: 1345 Localisation: ou topos
|
Posté le: Jeu 19 Aoû, 2004 14:57 Sujet du message: |
|
|
Sinon tu devrais jetter un coup d'oeil à la fonction empty
ou encore aux fonctions sur les chaînes de caractères |
|
| Revenir en haut de page |
|
 |
B2N Nain-stallé(e)

Inscrit le: 13 Déc 2003 Messages: 395
|
Posté le: Jeu 19 Aoû, 2004 15:16 Sujet du message: |
|
|
Alors j'ai essayé avec empty(), ca a l'air de marcher mais après j'ai toujours la meme erreur:
| Citation: |
Notice: Undefined variable: nom in c:\program files\serveurpack\web\essai\accueil.php on line 43
Notice: Undefined variable: note in c:\program files\serveurpack\web\essai\accueil.php on line 43
|
Donc la ligne
| Code: | {
mysql_query("INSERT INTO livre(nom, date, note)
VALUES('$nom', SYSDATE(),'$note')") //Cette ligne
or die("mise a jour impossible");
} |
|
|
| Revenir en haut de page |
|
 |
gagaches Nain-tégré(e)

Inscrit le: 01 Aoû 2003 Messages: 456
|
Posté le: Jeu 19 Aoû, 2004 15:43 Sujet du message: |
|
|
rhalala ... ces ptits jeunes qui connaissent pas isset !
| Code: | if (isset($nom) AND isset($note))
{
mysql_query("INSERT INTO news(nom, date, note)
VALUES('$nom', SYSDATE(),'$note')")
or die("mise à jour impossible");
} |
évidemment, ca ne sécurise pas le contenu de $nom et $note.
Ca ne fait que vérifier que ces variables sont définies ...
Le mieux serait de faire un isset & !empty
Dernière édition par gagaches le Jeu 19 Aoû, 2004 16:43; édité 1 fois |
|
| Revenir en haut de page |
|
 |
Haiken L'idole des naines, le Zorro des pubs

Inscrit le: 06 Mai 2002 Messages: 2495
|
Posté le: Jeu 19 Aoû, 2004 16:03 Sujet du message: |
|
|
| empty c'est isset ou vide... |
|
| Revenir en haut de page |
|
 |
gagaches Nain-tégré(e)

Inscrit le: 01 Aoû 2003 Messages: 456
|
Posté le: Jeu 19 Aoû, 2004 16:45 Sujet du message: |
|
|
| Haiken a écrit: | | empty c'est isset ou vide... |
dans ce cas, on ne sait pas voir si la variable est définie ou pas ...
elle est définie OU vide ...
Or il se prend un "undefined variable $nom, $note ..."
Donc avant de vérifier si la variable n'est pas vide, d'abord vérifier qu'elle existe ...
m'enfin c'est mon avis de pauvre con hein ... |
|
| Revenir en haut de page |
|
 |
Haiken L'idole des naines, le Zorro des pubs

Inscrit le: 06 Mai 2002 Messages: 2495
|
Posté le: Ven 20 Aoû, 2004 1:32 Sujet du message: |
|
|
à mon avis faudrait surtout qu'il mette son test dans le bon sens, cad
| Code: | | if (!empty($nom) and !empty($note)) |
moi mon avis de pauvre con c'est que t'en a rien à foutre qu'elle soit définie et non vide, tu fais rien tout pareil  |
|
| Revenir en haut de page |
|
 |
gagaches Nain-tégré(e)

Inscrit le: 01 Aoû 2003 Messages: 456
|
Posté le: Ven 20 Aoû, 2004 8:46 Sujet du message: |
|
|
vi mais ca explique pas le undefined variable ...
(aurais-tu mal pris mon avis de pauvre con ? c'était plus pour signaler que l'expert du PHP ici, ca n'était certainement pas moi ...) |
|
| Revenir en haut de page |
|
 |
Haiken L'idole des naines, le Zorro des pubs

Inscrit le: 06 Mai 2002 Messages: 2495
|
Posté le: Ven 20 Aoû, 2004 10:36 Sujet du message: |
|
|
si, s'il a écrit :
| Code: | if (empty($nom) and empty($note))
{
mysql_query("INSERT INTO livre(nom, date, note)
VALUES('$nom', SYSDATE(),'$note')") //Cette ligne
or die("mise a jour impossible");
} |
comme je le suspecte, c'est normal d'avoir les undefined
Enfin vu que le monsieur qu'on essaie d'aider répond pas on se bat contre des moulins à vent de toute façon  |
|
| Revenir en haut de page |
|
 |
B2N Nain-stallé(e)

Inscrit le: 13 Déc 2003 Messages: 395
|
Posté le: Ven 20 Aoû, 2004 10:53 Sujet du message: |
|
|
Desolé, si je suis pas connecté 24/24 7j./7j. et je n'ai pas le temps de tout faire sur internet, je suis surbooké.
MERCI A TOUS |
|
| Revenir en haut de page |
|
 |
Haiken L'idole des naines, le Zorro des pubs

Inscrit le: 06 Mai 2002 Messages: 2495
|
Posté le: Ven 20 Aoû, 2004 11:19 Sujet du message: |
|
|
ben et heu... ça marche maintenant ?  |
|
| Revenir en haut de page |
|
 |
Cash Nain-mateur(trice)

Inscrit le: 06 Avr 2003 Messages: 23
|
Posté le: Ven 20 Aoû, 2004 12:07 Sujet du message: |
|
|
Haiken que tu fasse empty($nom) ou !empty($nom) ca mettra toujours l'alerte si c'est la 1ere fois qu'il rencontre $nom.
(du moins il me semble que ca me l'a tjs fait)
Pour eviter le msg il faut mettre un isset ou alors un error_reporting(0) mais ca c'est autre chose :p
Après test (c'est bien de bosser du php en regardat les forums de nainwak ca permet de tester :p) :
empty inclus bien isset puisque je n'avais pas de message d'erreur (aussi bien avec empty que !empty).
Je m'incline devant le grand maitre du php  |
|
| Revenir en haut de page |
|
 |
Daimonos Tereutes Bot v1.45

Inscrit le: 07 Mai 2002 Messages: 1345 Localisation: ou topos
|
Posté le: Ven 20 Aoû, 2004 17:33 Sujet du message: |
|
|
| Le manuel de PHP a écrit: | | empty() est l'opposé de (boolean) var, excepté qu'aucune alerte est généré lorsque la variable n'est pas définie. |
Est-il nécessaire que je redonne le lien vers la documention de empty ? |
|
| Revenir en haut de page |
|
 |
B2N Nain-stallé(e)

Inscrit le: 13 Déc 2003 Messages: 395
|
Posté le: Sam 21 Aoû, 2004 12:29 Sujet du message: |
|
|
C'est un bon debut je pense, j'ai plus de message d'erreur, mais il me met quand meme :
| Citation: | | Veuillez remplir le Titre et le Texte |
Alors que je n'ai meme pas encore cliquez sur envoyer ???
Ca le fait dans les cas avec !empty et isset.
Edit : Je ne suis pas avantagé en +, mon logiciel pour coder à planter alors je suis au bloc-notes, arrff |
|
| Revenir en haut de page |
|
 |
gagaches Nain-tégré(e)

Inscrit le: 01 Aoû 2003 Messages: 456
|
Posté le: Lun 23 Aoû, 2004 9:57 Sujet du message: |
|
|
| Daimonos Tereutes a écrit: | | Est-il nécessaire que je redonne le lien vers la documention de empty ? |
:p on est capable d'aller voir le manuel, tu sais !
C'était d'ailleurs ce que je suis allé faire quand j'ai vu que je connaissais pas complètement cette fonction !
ce qui me perturbait c'était son erreur :
Que son test soit faux ne joue pas sur le warning de 'undefined variable' ...
Normalement, qu'il fasse un if(empty) ou un if(!empty) ne joue pas sur la définition des variables si elles n'existent pas encore. |
|
| Revenir en haut de page |
|
 |
Cash Nain-mateur(trice)

Inscrit le: 06 Avr 2003 Messages: 23
|
Posté le: Lun 23 Aoû, 2004 10:54 Sujet du message: |
|
|
J'ai pas été voir le manuel pour empty pour la simple et bonne raison que je vais deja le voir assez souvent pour plein d'autre fonctions et j'ai jms eu de pb en utilisant empty dc bon...
J'ai qd meme apprit quelquechose grâce a vous
Edit : pour ton pb on peut voir le code ou tu recupère tes variables? |
|
| Revenir en haut de page |
|
 |
B2N Nain-stallé(e)

Inscrit le: 13 Déc 2003 Messages: 395
|
Posté le: Lun 23 Aoû, 2004 11:40 Sujet du message: |
|
|
| Code: | <h2 class="h2NSAb">Ajout d' une news</h2>
<table border=0 cellpadding=10 class=TxtNSABlu>
<tr>
<td><b><u>Ecrire la news</u></b></td>
</tr>
<tr>
<td>
<form action="news.php">
<p>Titre :
<br><input type="text" name="nom" size=30>
<br>Texte:
<br>
<textarea name="note" cols="70" rows="10">
</textarea>
</td>
</tr>
<tr colspan="1">
<td>
<input type="submit" value="Envoi du message" class="navybutton">
<form action="accueil.php">
<input type="submit" value="Retour à l'accueil" class="navybutton">
</form>
</td>
</tr>
</table>
<?
include ("nsa.inc");
mysql_connect($host, $user, $password);
mysql_select_db($database)
or die (" Ouverture de la base impossible");
if (isset($nom) AND isset($note))
{
mysql_query("INSERT INTO livre(nom, date, note)
VALUES('$nom', SYSDATE(),'$note')")
or die("Mise à jour impossible");
}
else
{
echo "<font class=TxtNSARedG>Veuillez remplir le Titre et le Texte.</font>";
}
?>
</body>
</html> |
|
|
| Revenir en haut de page |
|
 |
Cash Nain-mateur(trice)

Inscrit le: 06 Avr 2003 Messages: 23
|
Posté le: Lun 23 Aoû, 2004 11:59 Sujet du message: |
|
|
Tout ca sur la meme page?
au quel cas c'est normal que ca marche pas, tu doit recuperer les variables lors de l'appuie sur submit (et donc de l'appel de la page news.php).
Dans news.php (si jamais c'est la 2eme bloc) il te manque la recupération des variables ($_POST["var"] pour php > 4.2.0 sinon $HTTP_POST_VARS["var"]) par un formulaire de methode post (methode par defaut). |
|
| Revenir en haut de page |
|
 |
B2N Nain-stallé(e)

Inscrit le: 13 Déc 2003 Messages: 395
|
Posté le: Mar 24 Aoû, 2004 13:02 Sujet du message: |
|
|
| OK je vais essayer. |
|
| Revenir en haut de page |
|
 |
|