CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Probleme... PHP

bobcolas
bobcolas
Niveau 9
10 août 2003 à 14:58:06

Merci, c´est bon ; ) C´est Blawk qui avait raison, erreur conne :p

mais maintenant...... Another Problem !
moins grave ; )

Tout marche, a part htmlentities...... ; (

le code est dans le prochain post...

Voilà, j´ai tout mis sur une seul page ( juste le formulaire et le " insert * form........")

cette page s´appelle truc.php et celle ou il y a les resultat est la page truc2.php

Pouvez vous m´expliquer que quand je met du code html dans un des deux champs ( nom($nom) et message($mes)), pkoi le html est pris en compte ? Alors que j´ai mis le htmlentities ?

merci bcp
@+ Colas

P.S.: Code sur le post qui suit ; )

bobcolas
bobcolas
Niveau 9
10 août 2003 à 14:59:06

< ?php

echo " <html><body>";
echo ´<form action="truc.php">´;
echo " <p>Nom :";
echo ´<input type="text" name="nom"></p><p>Message : ´;
echo ´<input name="mes" type="text"></p>´;
echo ´<br><input type="submit" value="Envoyer">´;
echo " </form>";

if ( !$nom || ! $mes)
{
echo " Un ou plusieurs champs sont vides.<br>";
exit;
}

if ( $_POST)
{
$nom = htmlentities($_POST[´nom´]);
$mes = htmlentities($_POST[´mes´]);
}

trim($nom);
trim($mes);

$nom = addslashes($nom);
$mes = addslashes($mes);

@ $db = mysql_connect("localhost", " root", " ****");

if ( !$db)
{
echo " Impossible de se connecter à la BDD.";
exit;
}

mysql_select_db("colas");
$query = " insert into colas ( nom, mes) values ( ´".$nom."´, ´".$mes."´)";
$result = mysql_query($query);
if ( $result)
{
echo " Le message est inséré dans la BDD.<br><br>";
echo ´<br><br><div align="center"><a href="truc2.php">Voir le message.</a></div>´;
}

echo " </body>";
echo " </html>";

? >

Blawk
Blawk
Niveau 10
10 août 2003 à 15:10:59

Les opérations que tu effectue ne sont pas dans l´ordre...

if ( !$nom || ! $mes)

A cet endroit du script, aucune de ces deux variabme n´est définie. Donc à tout les coup exit() est appelé.

if ( $_POST)

Il faut mettre tout le scripts entre les accolades des ce " if", car ici, même si rien n´est posté, tu te connecte quand même à la BdD...

Mets la permière série d´echo et les deux derniers en dehors de < ?php ? > ( et donc en dehors du IF).

trim($nom);

Il faut ecrire $nom = trim($nom);

bobcolas
bobcolas
Niveau 9
10 août 2003 à 15:52:07

si, $nom et $mes existe, regarde dans le formulaire html ; )

pour le reste, ok, je vais le faire, mais là je m´en vais et je reviens dans 3h ( ou moins).

merci j´essaierai

Blawk
Blawk
Niveau 10
10 août 2003 à 15:57:04

Et je te dis qu´elles n´existe pas...

Pas défaut, register_globals est OFF. C´est-à-dire que par exemple, tu ne peut pas ecrire $nom pour remplacé $_POST[´nom´].

Et réfléchi un peu. Tu regarde si les champs sont rempli avant même de verifier si quelque chose à été posté... Pas très logique tous ça...

Blawk
Blawk
Niveau 10
10 août 2003 à 15:57:58

Et aufait, dans ce cas là, le exit est pas conseillé car du coup, la page HTML ne sera pas terminé par < /body></html>

bobcolas
bobcolas
Niveau 9
10 août 2003 à 18:44:11

ok, attend j´essaye, je reviens après...

bobcolas
bobcolas
Niveau 9
10 août 2003 à 19:12:14

Ok, merci, tu m´a aider ; )

à 50% ; p

J´ai mis les accolade di if ( $_POST) apres la requete INSERT INTO....., mais j´ai aussi ajouter un truc qu tu aurait pu voir ; )

Dans mon formulaire, il fallait mettre method="POST"

et sans ca, tu peux pas faire ! ; )

Merci beaucoup quand même...

JE VOUS AIME ! !!

Colas ==> Tu es homo ? !

Colas ==> Non, pourquoi ?

Colas ==> Parce que la majorité des gens de ce forum sont des mâles !

Colas ==> Oui, mais il peut y avoir des femmes.

Colas ==> Très peu, et j´aimerais bien savoir si il y en a...

Colas ==> Demande, crétin !

Colas ==> Est-ce qu´il y a des femmes sur ce forum ?

Colas ==> Oui !

Colas ==> Arrête abruti ! Tu deviens lourd de faire des messages trop longs !

Colas ==> D´accord, mais je suis pas homo, et quand j´ai dit " je vous aime", c´était pour toutes les femmes qui sont sur ce forum.

Colas ==> Oui, mais il ne doit pas y en avoir beaucoup !

Colas ==> Bon, je vais dire " Merci les amis ! ".

Colas ==> Ca fait débile...

[... Et ils parlèrent longtemps jusqu´à la fin de leurs jours...]

jarose
jarose
Niveau 10
10 août 2003 à 21:10:36

Comment vous pouvez réflechir de ce temp là ! ?

bobcolas
bobcolas
Niveau 9
10 août 2003 à 21:32:27

C´est vrai, il fait trop chaud, mais l´eau de la mer à Lille n´est pas froide ? !?

En plus, je suis allé visiter une carrière de calcaire dans mon département ( Yonne), et à -50 metres sous terre, il fait froid, très froid ; )

Donc ca m´a rafraichit les idées ; p

jarose
jarose
Niveau 10
10 août 2003 à 21:34:41

Arras beach style...

leboss33
leboss33
Niveau 10
11 août 2003 à 02:52:58

Je me demande même comment vous faites pour reflechir tout court, je n´y arrive jamais moi ^^

bobcolas
bobcolas
Niveau 9
11 août 2003 à 18:05:27

Voilà encore une petite erreur ; )

Je veux faire un truc pour que si les gens insere ca ( exemple): [url]http://www.free.fr[url]

Ca mette le lien vers free.fr. j´ai fait une petite fonction comme celle ci :

function lien($mes)
{
$url1 = explode("[url]", $mes);
if(isset($url1)){
$url = explode("[url]", $url1[1]);
str_replace($url[0], ´<a href="´.$url[0].´">´.$url[0].´</a>´, $mes);
}
}

J´ai enlevé les htmlentities, mais ca ne marche pas... ; (
Pouvez vous m´aider ?

merci @+

Colas

Blawk
Blawk
Niveau 10
11 août 2003 à 19:47:22

function lien($msg){

eregi_replace(´[url](.+)[/url]´, ´<a href="\\1">\\1</a>´, $msg);

return $msg;

}

Tu peut améliorer la fonction en remplacant ´.+´ par l´expression régulière d´une URL.

bobcolas
bobcolas
Niveau 9
11 août 2003 à 21:25:42

Ok merci, mais je suis pas très fort en expression régulière moi ; ) Dans mon book PHP tout est expliqué dans les expressions réguliere, mais j´ai pas regarder en détail ; )
Meme si je sais que c´est assez important ; )

http://graphicolas.free.fr/

j´ai mis en ligne mon blog concu avec mes propres ( ou sales) petites mains ; ) ; p

Voilà, merci et je vais me mettre aux expressions régulières ; )

bobcolas
bobcolas
Niveau 9
12 août 2003 à 13:16:26

Blawk ==> Ta fonction ne marche pas ! ; )

Je l´ai mis en dehors et dans la fonction if ( $_POST), mais c´est pareil, et je l´ai appelé apres les trim();

< ?php

function lien($mes){
eregi_replace("[url](.+)[/url]", ´<a href="\\1">\\1</a>´, $mes);
return $mes;
}

if ( $_POST)
{

if ( !$nom || ! $mes || ! $mail)
{
echo " Un ou plusieurs champs sont vides.<br>";
exit;
}

trim($nom);
trim($mes);
trim($mail);

$mes = lien($mes);

bobcolas
bobcolas
Niveau 9
12 août 2003 à 13:18:09

[suite...]

mais ca ne marche pas... je comprend pas aussi le " \\1"... Ca veut dire reprendre la premiere chaine trouvée ? ??

Voilà, merci de m´aider, c´est sympa.

@+ Colas

Blawk
Blawk
Niveau 10
12 août 2003 à 13:32:27

A voir la fonction que je t´ai donné, j´ai pas dû beaucoup réfléchir...

Bon, voici la bonne avec un exemple d´utilisation TESTE et APPROUVE.

< ?php

function makeLink($txt) {
$txt = eregi_replace(´\[url\](.+)\[/url\]´, ´<a href="\\1">\\1</a>´, $txt);
return $txt;
}

$txt = ´ceci est un test [url]http://www.free.fr[/url]&acute;;
$txt = makeLink($txt);

echo $txt;

? >

Le \\1 récupère la partie de la regex qui est entre parenthèse. Ici, c´est l´URL.

Aucune vérifiaction n´est faite pour voir si l´URL est valide. ( Si tu met [url]dqmj;!!:; 9876-*/^$*µ=)à[/url], ça va marché.)

bobcolas
bobcolas
Niveau 9
12 août 2003 à 17:34:08

ok, merci, ca marche vachement bien meme avec les htmlentities ! ; )

mais voilà, j´ai essayer de faire une expression réguliere pour l´url, ca donne ca :

function lien($mes) {
$mes =
eregi_replace(´\[url\]("^http://[a-zA-Z0-9\-\.\=\?
\_]+\.[a-zA-Z]+$")\[/url\]´, ´<a href="\\1">\\1</a>´, $mes);
return $mes;
}

bobcolas
bobcolas
Niveau 9
12 août 2003 à 17:38:56

ou plutot ca:

´\[url\]("^http://[a-zA-Z0-9\-\.\=\?
\_]+\.[a-zA-Z]+$")\[/url\]´, ´<a href="\\1">\\1</a>´

mais quand je met ca dans mon blog :

[url]http://www.free.fr[/url]

ca ne marche pas :´(

Merci de m´aider encore une fois ; ) mais j´aiderais les autres une fois que je serais faire bien du PHP, alors vous le faites pour moi mais aussi pour les autres ; )

Blawk ==> http://graphicolas.free.fr j´ai répondu ; p

@+ colas

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware