manito
-
Compteur de contenus
25 -
Inscrit(e) le
-
Dernière visite
Messages postés par manito
-
-
Merci pour ta réponce
ça m'as bien servis mais le probleme était ailleur c que j'avais une intérraction entre plusieurs variables.
Pour info c bien ereg("\?>", $texte) qui fonctionne
mais je peut pas utiliser la formuleque tu m'as données a cause de diverses fonctionalité de mon script. Mais c sympa quand meme d'y avoir pensé
A+
-
je récupére le code grace a la répétition de la fonction ereg() une fois pour la balise ouvrante php et une fois pour la balise fermante le tout dans une boucle for.
Ce qu'il se passe c que si la fonction ereg est impréssise je récupére du code qui n'est pas entre <?php et ?>. Tout dépend de comment est placé le code récupérer.
Je souhaite donc trouver une expréssion qui me permette d'etre vraiment précis.
Merci encore
-
Bonjour
Voila je souhaiterai récupérer le code contenus entre deux balises php avec la fonction ereg()
mais je n'arrive pas a trouver l'expression réguliére me pérméttant de trouver le
<?php et le ?>
.
Etant donnée que le caractére --> ? soit un caractére spécial il faut le faire précéder d'un antislash
voila ce que j'ai essayé :
ereg("^.*<\?php.*$", $ligne)
et
ereg("^.*<(\?)php.*$", $ligne)
et aussi
ereg("^.*<[\?]php.*$", $ligne)Mais cela ne me pérmet pas d'etre vraiment précis.
j'espére avoir été assez clair dans mon éxplication
et merci pour votre aide
-
Traitement de données
dans PHP
Salut
Si j'ai bien compris tu veux récupérer le texte précédé par titre du texte.
Je pense que ça serai plus simple en utilisant la fonction file()
$tab = file(.....);
$nb = count($tab);
$zu = "false";
for($i;$i<$nb;$i)
{
$ligne = $tab[$i];
//-------------------------------------------------------------- 1
//et la tu commence par tester si $zu == "true"
//et dans ce cas tu récupére le texte qui t'intérresse
(.......)
//sans oublier de mettre $zu = false
break; --> pour finir le tour en cours et ne pas faire les test suivants
//-------------------------------------------------------------- 2
//ensuite tu teste si le texte correspondant a titre ne se trouve pas a coté de titre
// cad qu'il se trouve a la ligne suivante.
//et dans ce cas tu met : $zu = "true"
//-------------------------------------------------------------- 3
//Et pour finir si $zu == "false" et que le texte correspondant a titre se trouve a coté de titre
//tu récupére le texte a coté de titre comme tu le fait
}j'espére que c clair
ça t'oblige a recommencer ton script mais je suis pas trop a l'aise avec l'autre méthode
A+
-
requete php
dans PHP
Bonjour,
Tu peux le faire avec 2 tables.
La premiere "membres" contient les champs :
-Id membre
-Pseudo (1 seul enregistrement par pseudos)
-nb_de_nouv_mess
La deuxieme "messagerie" contient les champs :
-Id mess
-Id membre
-message
-lu
A chaque qu'un nouveau message arrive a pseudo on incrémante
"nb_de_nouv_mess" de 1.
Et a chaque fois que pseudo lit un nouveau message on décrémante "nb_de_nouv_mess" de 1.
-->nb_de_nouv_mess = messages ou lu = 0
Et maintenant c'est facile.
$sql = "SELECT Pseudo FROM membres WHERE nb_de_nouv_mess>20";
C'est surement pas la façon la plus simple mais ça peut p'tetre t'aider.
A+
-
pb avec mysql
dans PHP
Merci a vous deux pour votre aide.
Je comprend mieux.
@+
-
pb avec mysql
dans PHP
Salut a tous
Et Merci, je vais mettre en application vos conseils.
-----------------------------------------------------------------------------------------------
Mais je voudrai bien comprendre comment cela fonctionne sur phpmyadmin quant on appuie sur le (<--T-->) en haut a gauche (quand on visualise le résultat d'une requette).
Est-ce que les chaines trops longues sont tronqués par cette aplication pour permettre de réduire l'espace d'affichage. Ou est-ce une particularité de mysql, qui pour économiser de la mémoire tronque les chaines trop longues.
Et dans le deuxiéme cas, cela impliquerait que pour les champs de type TEXT qui peut contenir un grand nombre de caracttéres, il ne soit nécéssaire de créer une requette par champ de ce type.
-----------------------------------------------------------------------------------------------
Merci a tous pour votre aide.
-
pb avec mysql
dans PHP
RE
Voila le code de la requette :
$sql_af = "SELECT e.image, e.type, e.ville, e.c_postal, e.nb_pieces, e.prix_eur,
e.agence, e.tel, e.mail, e.coup_de_coeur, d.descriptif, b.surface_t
FROM extract_bien AS e, detail_bien AS d, z_bien AS b
WHERE cle = '$r_bien' AND cle = cle_bien AND cle = cle_detail";
$req_af=mysql_query($sql_af)or die("ERREUR SQL extrac extraction des biens ".mysql_error());
if ($req_af)
{//if req ok
$resultat = array();
$resultat = mysql_fetch_array($req_af);
$image = $resultat[0];
$modele = $resultat[1];
$ville = $resultat[2];
$dep = $resultat[3];
$type = $resultat[4];
$prix_eur = $resultat[5];
$agence = $resultat[6];
$tel = $resultat[7];
$mail = $resultat[8];
$coup_coeur = $resultat[9];
$descriptif = $resultat[10];
$surface_t = $resultat[11];
}//if req okEt voila le code d'affichage :
<textarea name="descriptif" cols="65" rows="4" id="descriptif"><?php if(isset($descriptif)) {echo"$descriptif";} ?></textarea>
Merci d'avance
@+
-
pb avec mysql
dans PHP
Salut
En fait je fait ma requette en début de page et l'affichage se fait en milieu, donc c'est relativement long entre l'extraction et l'affichage.
Vous croyez que c'est juste le fait qu'il y ai trop de code entre l'extraction et l'affichage?
Moi ça me parait être autre chose car comme je l'ai dit plus haut, il se passe sur mon site la meme chose que sur PhpMyAdmin,
c'est a dire que l'affichage des enregistrements qui contiennent beaucoups de caractéres n'est que partiel et moi je voudrai avoir un affichage complet.
Mais bon a vrai dire je n'en sait rien.
Si quelcun peu m'aider.
Merci d'avance
@+
-
pb avec mysql
dans PHP
Salut
Et désolé pour le retard.
Le type est VARCHAR et aussi TEXT.
Et c'est éffectivement au moment de l'affichage de données extrait de Mysql sur mon site.
Merci a tous
-
pb avec mysql
dans PHP
Bonjour a tous.
J'ai un ptit pb avec mysql, je n'arrive pas a récupérer entiérement certains enregistrements.
Ils apparaissent tronqués avec des points de suspention.
J'ai remarqué que dans PhpMyAdmin ces memes enregistrements apparaisent aussi avec des points de suspention mais en cliquant sur le lien sur le coin supérieur gauche ( <-T-> ) la page est rechargé avec les enregistrements complets.
Merci d'avance pour votre aide
@+
-
Salut .
J'ai pas vraiment étudié ton pb mais je pense que si tu récupére le microtime au début du script et si tu crée une fonction java script dynamique (a l'aide de php) qui te permette de récupérer le microtime de fin de chargement (normalement il faut que tu détecte la fin de l'événement --> onload).
Tu devrai y arriver.
@+
-
Bonjour,
Désolé de m'introduire
mais je voulais savoir 1 chose par rapport au message de dan.
Sous windows quand j'écris dans un fichier texte a l'aide d'un script php, les \n et \r sont remplacés par des petits carrées et aucun saut a la ligne n'est éfféctué.
Et je comprend pas pourquoi.
Sa veut donc dire que le 'drapeau t' est utilisé par défaut et qu'il faut que j'utise le 'b'?
Merci a +
-
Bonjour et
Merci de m'avoir répondus.
J'utilise déja la méthode POST et je voudrai rajouter un petit plus au niveau sécurité.
Surtout pour l'identification qui se fait grace a un formulaire et ça serait plutot génant que des personnes mal intetionné usurpent une identité.
Par rapport a ça j'ai commençé a regarder un peu et j'aitais plutot partis sur une sécurité du type SSL ou SSH mais j'ai pas encore regardé S-HTTP.
(La vérité c'est j'ai pas encore tout assimilé)
2 Question : shttp et SSL c'est la même chose?
Y a-t-il un moyen moins contraignant pour pas ce faire sniffer les infos d'identification?
(Je ne gére aucune transaction financiére )
Merci d'avance @+
-
-
Probleme de sécurité
dans PHP
Salut,
merci pour ta réponce et désolé pour avoir mis aussi longtemp pour te répondre
Je doit avouer que j'ai quelques lacune sur le fonctionnement des session, et j'ai un peu de mal a sésir ton explication :
Plus précisément je ne vois pas trop comment on peut éviter de passer par les cookies.
Ce serait :
Premiére page :------------------------------------------
$nms = "sess132"; //nom de la session
session_start(session_name($nms ));//ouverture de la session
$sid = session_id;
header("location:ma_page.php?sid=$sid&nms=$nms");
Deuxiéme page : ---------------------------------------
$sid = $_GET['sid'];//récupération du sid
$nms= $_GET[nms];//récupération du nom de session
session_start(session_name($nms ));//ouverture de la session
//----------------------------------------------------------------------
Et a partir de la je voie vraiment pas ce qui modifie le fait que la session passe par get ou par cookie
Il s'agit d'une lacune qu'il me revient de combler mais si quelcun en sait un peu plus je vous remercie pour tout conseil ou debut de réponse
Merci a tous
@+
-
Probleme de sécurité
dans PHP
Merci beaucoup pour ta reponce
Et désolé de ne pas avoir repondus plus tot.
Les images en question peuvent avoir des taille d'origine variables,
mais sur la page d'affichage j'ai bloqué leurs taille a
width="120" height="90".
Je vais faire des essais par rapport a ta réponce.
Mais est-il possible de savoir les tailles d'images que norton peut bloquer et est-il possible de changer cette configuration ?
Merci @+
-
Probleme de sécurité
dans PHP
Bonjour a tous
Voila j'ai plusieurs pb sur mon site apparament lié a norton antivirus.
Mon site est composé de 2 parties une partie visiteur et une autre un espace membre.
Premier pb :
La partie visiteur contient un moteur qui va rechercher des infos dans une base mysql puis affiche l'ensemble des résultats sur une page sous forme de tableau.
Pour chaque entrée une image dont le nom est consérvé dans la base de donnéé, est appelé par un script php.
Cette meme image sert en meme temp de lien vers une autre page qui détaille chaque entrée.
Le probleme que je rencontre est que sur certaines version de norton antivirus ces fameuses images et le lien qu'elle comporte sont bloqués par norton (je crois).
En effet dés que norton est désactivé tout marche correctement.
Deuxieme pb:
L'espace membre est accessible grace a un formulaire qui permet l'autentification du membre.
Ce formulaire est traité grace a un script php qui enregistre certains parametres dans des variables de session.
Quand norton antivirus est activé il n'est pas possible de se connecter alors que quand il est désactivé tout fonctionne parfaitement.
Tout ceci m'a été rapporté par un tiers, je posséde moi meme norton antivirus (version 2000) et j'ai paramétré les option de sécurité au maximum et j'ai fait de meme avec internet exploreur.
Puis j'ai tésté le tout en local avec Easy php, mais je n'arrive pas a rencontrer les erreurs énnoncés plus haut.
Les personnes ayant rencontrés ces problemes possédent la derniere version de norton.
Par rapport a ça j'ai 2 questions :
Est-il possible que norton bloque le passage des variables de session ?????
Et peut-il faire de même avec des images appellés par un script php
(echo"<a href=\"dir1/detail.php?var1=$var_php1\"><img src=\"images/$image1\" border="\0\" /></a>"
j'espére ne pas avoir été trop confus dans mes explications.
Merci d'avance pour toute suggestion ou information .
@+
-
Salut a tous
Juste une petite question sans rentrer dans une polemique,
a vrai dire je debute.
C'est juste par rapport au message :
(qui commence un peu a dater mais bon)
Premier exemple :$array['nom']="machin";
$array['prenom']="truc";
On est obligé de passer par un 'foreach' pour dépiler le tableau. On ne peut le faire avec un for..sizeof, puisque l'index n'est pas numérique.
Second exemple :
$array[0]="machin";
$array[1]="truc";
$array[2]="bidule";
unset($array['1']);
Sans autre opération de remise en ordre de l'index, le foreach marche, pas le for..sizeof.
<{POST_SNAPBACK}>
Voila c'est beaucoup plus long et surement moins efficace
mais par rapport au 1er example ,
(en concidérant un nombre limités de d'entréés dans la var tab et une réutilisation dans plusieurs autres boucles for )
On pourrait utiliser la boucle for de cette maniére
Ex:
"Premier exemple :"
$cle_v = array("nom","prenom");
$resu_t = array("machin","truc");
$tp ="";
for($i=0;$i<2;$i++)
{//for
$tp = $cle_v[$i];
if($array[$tp]=$resu_t [$i]){
echo"ok";
}
if($array[$tp]=$resu_t [$i]){
echo"ok";
}
}//forJe veux juste savoir si c'est une methode acceptable.
Merci
@+
-
Salut a tous
et merci pour votre aide :
Jsuis arrivé a m'en depétrer,
Jsuis désolé c'était une erreur stupide de ma part:
Yavait un espace qui se baladait dans l'une de mes variables qui composait le nom final du fichier.
Encore merci pour votre aide.
Et bravo au concepteurs du Site
@++
-
Salut
Et non justement, jcomprend vraiment pas.
Mais parcontre dans ma base de données aucun espace n'est inséré juste avant le nom de l'image.
ce qui est vraiment étrange puisque c la meme var et qui de plus ne subit aucune modification entre l'upload et l'enregistrement dans la bdd
j'suis plus sur les rails
jcomprend rien
Merci
@++
-
Re
Jviens de relire et c'est peut etre pas tres clair
Si vous avez besoin de plus de renseignements...
En attendant j'vais éclairsir un peu tout ça
Merci d'anvance pour votre aide
@+
-
Salut et merci de me repondre
Malheureusement non car dans mon script d'upload j'utilise la fonction
trtolower() pour metre tous les characteres en miniature et c'est le meme nom qui est enregistré dans la base et qui sert pour nommer l'image.
J'ai aussi vérrifié les donnees inscrite sur ma base et tout concorde
Mais jviens de decouvrir que mon script insere un espace avant le nom d'image et jme retrouve avec des noms du type " 468468468.jpg"
jvoit pas d'ou ça vient jme suis servi de trim()
une fois que ma var "$nom_image" a été généré par le script
et ce n'est qu'ensuite qu'elle me sert pour nommer le fichier et sauvgarder son contenus dans une base MYSQL
voila mon script
que j'ai un peu "hélagué" j'ai mit que l'endroit ou le nom du fichier était déffinis
$nomfinal1 --> correspond au nom qui sera atribué au fichier
(.......)
$separateur1 = ".";
$separ1=trim($separateur1);
$fich_sep1=array();
$fich_sep1 = explode ($separ1,$_FILES['userfile']['name']);
$nb_re = count($fich_sep1);
$j = $nb_re-1;
$extim = strtolower($fich_sep1[$j]);
$extim = trim($extim);
$extim=".".$extim;
$daty=date("U");
$daty=trim($daty);
$image_nmz1="a".$daty.$extim;
$image_nmz1=trim($image_nmz1);
if(file_exists($uploaddir.$image_nmz1)){
);
$nom_final1=$image_nmz1;
$imzerr1[6] = "Le nom original du fichier 1 a ete modifie <br>
(Nom du fichier déja présent sur le serveur).<br>
Ancien nom de fichier : $img_nam1<br>
Nouveau nom de fichier : $nom_final1";
}//if
else{
$nom_final1=$image_nmz1; //l'image n'existe pas on garde le même nom
}
// on met le nom de l'image en minuscules
$nom_final1=trim($nom_final1);
$nom_final1 =strtolower($nom_final1);
$imzerr1[1]=$nom_final1;
//copie du fichier 1 si les conditions sont réspéctés
if ($erreur_z1=="ok"){
//echo"/tmp/".$_FILES['userfile']['tmp_name'];
// $verifgroup= chown($_FILES['userfile']['tmp_name'], 0513);
$vechim1=chmod($_FILES['userfile']['tmp_name'], 0777);
$uploadfile1.="$uploaddir"."$nom_final1";
if((move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile1)))
{
// if (file_exists($uploadfile1)){
$imzerr1[9]="Le fichier 1 est valide et a été téléchargé avec succes.<br>\n";
}
// }
}
else{...............}
(.....) -
Bonjour a tous
J'ai un gros pb sur un un script d'upload d'images :
L'upload se deroule parfaitement aprés quoi le script enregistre le nom de l'image (ex:"1104937852.jpg) dans une base Mysql.
P.S : Le nom de l'image sort de la fonction date("U") suivis de l'extention du
fichier uploadé
Puis un autrescript va l'afficher sur une page cette meme image
mais rien ne s'affiche !!!!
Je comprend pas :
- l'image uploadé a un chmod de 0777
-Et tous les chemins sont bons puisque j'ai fait l'experience d'uploader moi
meme des images par ftp et de marquer a la main dans la base Mysql les
noms d'images et ça fonctionne parfaitement.
-Et si je télécharge l'image en question elle s'affiche normalement
Jsuis pommé si quelcun a une suggestion
merci d'avance
@+
Traitement de données
dans PHP
Posté
re
avant de te répondre j'aimerai connaitre le contexte dans lequel tu as écris ton script?
a+
re re
et aussi savoir ce que tu n'as pas compris?
A+