Cooling-Masters
Connexion · INSCRIPTION · Site Recevoir à nouveau l'e-mail de validation


php mysql

Ajouter ou retirer ce sujet de vos favoris  ·  Suivre ce sujet  ·  Imprimer ce sujet
Pages : « Première ...  5  6  7  8  9  10  11  12  13  14  15 ...  Dernière »
marillion


touché par le virus "overclocking"
Messages : 632

mardi 09 janvier 2007 à 08:53:10     
c'est bon ça marche j'ai mis 3minutes chrono en main mais grace à qui à aleiz alors c'était la parenthèse au début je l'est mal placée il m'affiche l'erreur je regarde mon code et j'ai bien placé ma parenthèse entre deux guillemets et ça fonctionne j'ai plus que à mettre à jour rediger_news et liste_news

voila comment je devais faire ma requête (et une parenthèse mal placée ou oubliée peut tout faire planté la programmation c'est strict pour ça)
CODE :


mysql_query("INSERT INTO actualites VALUES('', '" . $titre . "',  '" . $categorie . "', '" . $contenu . "', '" . $posteur . "', '" . $source . "', '" . time() . "')");

maintenant il me reste à attaquer la date et à l'attribut target qui affichera ma news à la même façon que CM,Pcinpact ...^^,amélioré le rédacteur de news et mettre un module de commentaires pour les news ça sera bon et après je m'attaque au module d'article

edit : il fonctionne comme sur des roulettes je met categorie en menu deroulant,la date en automatique et ajouter des bbcode

Message édité par marillion le mardi 09 janvier 2007 à 09:02:31
Google




     
AleiZ


Membre
Messages : 3700

dimanche 14 janvier 2007 à 00:33:12     
bon les flux depuis que j'ai découvert que c'était pas un gadget je peux plus m'en passer: toutes les infos que je suis en 1 page.

L'inconvénient, y'a des pages qui en ont pas ! Solution on en créé pour elles

Voilà la page que je veux suivre:
http://msdn20.e-academy.com/elms/Storefron...se_dsti&np1=112
(c'est pour voir quand vista sera dispo )

Donc j'ai codé ça:
QUOTE :

<?
$fichier='test.txt';

$taille = filesize($fichier);

$fp = fopen($fichier,'r');

while (!feof($fp)) {

  $ligne = fgets($fp, $taille);

  if(eregi(">(.*)</option>",$ligne,$regs) && $regs[1] != 'Recherche par titre de produit' ){
      echo $regs[1];
      echo "<br />";
  }

}

fclose($fp);
?>


ça marche super quand j'ai le code source de le page dans un fichier 'test.txt'

Le problème c'est que la page: http://msdn20.e-academy.com/elms/Storefron...se_dsti&np1=112
J'arrive pas à l'ouvrir sous forme de fichier... alors que si ça avait du php ou html y'aurait pas eu de soucis.

Comment je peux récupérer le code source de cette page dans une variable php ou dans un fichier ?

Merci

Message édité par AleiZ le dimanche 14 janvier 2007 à 00:34:10
xalis


Membre
Messages : 9791

dimanche 14 janvier 2007 à 00:39:06     
si c'est du php tu peux pas

si c'est purement de l'html que tu veux récup ouvre le fichier index avec php, tu le lis et sauvegardes le dans une variable puis un bon echo et hop.
AleiZ


Membre
Messages : 3700

dimanche 14 janvier 2007 à 00:43:49     
ben ouais c'est une page générée dynamiquement.

doit bien y avoir moyen: si on arrive à l'afficher à l'écran c'est que y'a forcément moyen de récupérer ce code source.
xalis


Membre
Messages : 9791

dimanche 14 janvier 2007 à 02:24:14     
en théorie sur le php : non tu récupèreras juste le code généré par le serveur mais pas le code php source
Rosco


Administrateur
Messages : 25926

dimanche 14 janvier 2007 à 02:28:18     
On s'en tape du php d'origine, on ne peut pas l'avoir de toute façon. Là, il fait juste une analyse du code HTML en recherchant dans la liste déroulante les produits dispo via une regexp sur le <option>. Certaines extensions pour Thunderbird font pareil pour aller chercher du courrier sur un webmail sans POP3 par exemple, elle analyse la page pour en tirer le texte qu'il faut... Là il veut juste rapatrier le HTML généré je pense pour le décortiquer via son code et c'est ce qu'il n'arrive pas à faire, le rapatriement (sans le mettre à la main ds son .txt). PHP doit avoir des fonctions pour aller chopper du contenu à distance et le mettre dans un buffer par exemple, jamais regardé ce genre de trucs moi

Message édité par Rosco le dimanche 14 janvier 2007 à 02:38:38
AleiZ


Membre
Messages : 3700

dimanche 14 janvier 2007 à 13:28:50     
c'est exactement ce que rosco a dit en beaucoup mieux que moi.

Je continue mes recherches dès que j'aurais le temps: je vais bien y arriver

EDIT: je sens que je suis pas loin avec ça: http://www.manuelphp.com/php/function.ob-start.php
merci google

Message édité par AleiZ le dimanche 14 janvier 2007 à 14:03:39
AleiZ


Membre
Messages : 3700

dimanche 14 janvier 2007 à 16:29:38     
QUOTE :


<?php

$fichier='test.txt';
ob_start();  //rien n'est transmis au navigateur, tout est gardé au buffer
include('http://msdn20.e-academy.com/elms/Storefront/Storefront.aspx?campus=insa_toulouse_dsti&np1=112'); //chopper le contenu de ma page: classique include
$buffer = ob_get_contents(); // on récup le contenu du buffer
ob_end_clean(); // on le vide et on repasse en mode normal

$fp = fopen($fichier,'w');
fwrite($fp, $buffer);
fclose($fp);
?>




PS: c'est dit avec mes mots parce que c'est plus complexe que ça, mais ça fonctionne très bien
Je vais modifier le code pour ne plus passer du tout par un fichier qui ne sert à rien en fait.

EDIT: et ça marche avec netvibes
http://aleiz.free.fr/rss_msdnaa.php

Message édité par AleiZ le dimanche 14 janvier 2007 à 17:16:12
debugger


Membre
Messages : 2002

mardi 16 janvier 2007 à 00:32:50     
http://fr.php.net/manual/fr/function.fopen.php

fopen -- Ouverture d'un fichier ou d'une URL
AleiZ


Membre
Messages : 3700

mardi 16 janvier 2007 à 11:37:05     
ouais mais si c'est un page php ça marche pas...

en tout cas sur le page que j'ai testé ça marchais pas (alors que oui effectivement sur une page classique, ça fonctionnait)

debugger


Membre
Messages : 2002

mardi 16 janvier 2007 à 13:33:06     
oui je me suis trompé, la bonne fonction est file_get_contents et avec ça tu récupères tout
(il n'y a pas de différence entre une page php et une "page classique" puisque dans tous les cas ce que le browser affiche c'est du html) ²=

http://fr.php.net/manual/fr/function.file-get-contents.php
AleiZ


Membre
Messages : 3700

mardi 16 janvier 2007 à 16:59:19     
je sais bien que y'a pas de différence au final: sauf que la page html elle est stockée en dur alors que la php, il faut qu'elle soit générée. C'est ça qui fait que ça marchais pas.

Merci pour la fonction.

Je connaissais pas cette fonction (tout comme celle que j'ai utilisé): j'ai bidouillé avec ce que j'ai trouvé sur google pour que ça marche au final.
xalis


Membre
Messages : 9791

mercredi 17 janvier 2007 à 21:30:28     
un truc à ni rien comprendre :

<?php
session_start();
blabla
?>

et le code bloque sur le session_start

la cause :
CODE :


Warning: session_start() [function.session-start]: open(/mnt/134/sdb/9/8/benmastercool2400/sessions/sess_9a97cf4b46268e0caa222112e8ad0586, O_RDWR) failed: No such file or directory (2) in /mnt/134/sdb/9/8/benmastercool2400/index.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/134/sdb/9/8/benmastercool2400/index.php:2) in /mnt/134/sdb/9/8/benmastercool2400/index.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/134/sdb/9/8/benmastercool2400/index.php:2) in /mnt/134/sdb/9/8/benmastercool2400/index.php on line 2
première visite
Warning: Unknown(): open(/mnt/134/sdb/9/8/benmastercool2400/sessions/sess_9a97cf4b46268e0caa222112e8ad0586, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/134/sdb/9/8/benmastercool2400/sessions) in Unknown on line 0


une idée ?

Message édité par benoît le mercredi 17 janvier 2007 à 21:39:11
debugger


Membre
Messages : 2002

mercredi 17 janvier 2007 à 21:45:25     
crée le répertoire /sessions et vérifie qu'il n'y a rien avant <?
xalis


Membre
Messages : 9791

mercredi 17 janvier 2007 à 21:46:44     
il faut créer un répertoire sur le ftp ?

ah oui

mon sauveur !

Message édité par benoît le mercredi 17 janvier 2007 à 21:48:58
xalis


Membre
Messages : 9791

samedi 27 janvier 2007 à 02:21:40     
Bon alors voilà, l'objectif est de supprimer tous les fichiers de sessions se situant dans le répertoire "sessions"

donc : le code
CODE :


<?php
session_start();
require('header.php');
require('main.php');
$dossier = opendir ("sessions");
while ($fichier = readdir ($dossier)) {
   if ($fichier != "." && $fichier != "..") {
       unlink ("/sessions/".$fichier);
   }
}
closedir ($dossier);
?>



l'erreur n°1 :
CODE :


Warning: unlink() [function.unlink]: Unable to access /sessions/sess_8e3e3ae9686f2eeb1cdd297c79f6880f in /mnt/108/sdb/a/3/bencooling/index.php on line 8



l'erreur n°2 (rare) :
CODE :


Warning: unlink() [function.unlink]: SAFE MODE Restriction in effect. The script whose uid is 33 is not allowed to access / owned by uid 0 in /mnt/108/sdb/a/3/bencooling/index.php on line 8




Des idées ?

Message édité par benoît le samedi 27 janvier 2007 à 02:28:17
xalis


Membre
Messages : 9791

samedi 27 janvier 2007 à 02:50:42     
ok j'ai réussis mais de manière bizarre

j'ai tout simplement crée un fichier delsessid.php dans lequel j'ai placé la portion de code permettant la suppression des fichiers de sessions. Le tout require dans l'index, et là parfait

Bon dès fois quand j'actualise en brute force par le code pour voir le comportement ça plante, ça me dit que c'est occupé (sans blague ??)

c'est gavant :
CODE :


Warning: unlink(./sessions/.nfs0000000000f49a8c000020e0) [function.unlink]: Device or resource busy in /mnt/108/sdb/a/3/bencooling/functions/delsessid.php on line 5



MAJ : arrangé avec l'ajout d'une else{continue;}, à voir.

finalement ça n'a rien arrangé ....

Message édité par benoît le samedi 27 janvier 2007 à 03:08:12
marillion


touché par le virus "overclocking"
Messages : 632

dimanche 28 janvier 2007 à 11:43:32     
salut ça fesai longtemps que je suis pas passer alors je vous explique mon petit souci :
j'ai mon index de mon site ou les news sont listées, et j'ai un fichier "actus.php" pour afficher le contenu

voila le code que j'ai fais mais il est pas bon
dans index.php(l'index du site)
CODE :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
  <head>
             <title>Hard &amp; Cooling - Accueil - vous êtes les les bienvenues.</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<?php
echo "  <style type=\"text/css\" media=\"screen\">\n";
echo "   @import url(".$css."/style.css);\n";
echo "  </style>\n";
?>  

 
  </head>
  <body>
  <!-- L'en-tête -->
  <?php
  include("haut.php");
  ?>


   
<!--menu latérale-->

  <?php
  include("menu.php");
  ?>

      <!-- Le corps ou le contenu;)-->

      <div id="corps">
     
   
          <h1>Les dernières actualités</h1>

<?php
mysql_connect("localhost", "samsara77", "mdp");
mysql_select_db("samsara77");

// On récupère les 20 dernières news
$retour = mysql_query('SELECT * FROM actualites ORDER BY id DESC LIMIT 0, 20');

//Déconnection de la base de données.
mysql_close();

while ($donnees = mysql_fetch_array($retour))
{
?>
<p>
<a href="news.php?id_news">
    <?php  echo $donnees['date']; echo $donnees['titre'];  ?><br />
 </a>
<div id="cat" categorie : <?php echo $donnees['categorie'];?></div><br />
 </p>  
<?php
}
// Fin de la boucle,
?>
      </div>

      <!-- Le pied de page -->
  <?php
  include("bas.php");
  ?>


<!--il n'y as plus rien :)-->
 </body>

</html>

dans news.php :
CODE :


<?php
mysql_connect("localhost", "samsara77", "mdp");
mysql_select_db("samsara77");

// On récupère les 20 dernières news
$retour = mysql_query('SELECT * FROM actualites');

//Déconnection de la base de données.
mysql_close();

while ($donnees = mysql_fetch_array($retour))
{
?>
<H1><?php echo $donnees['titre'];?></h1>

<p>
<?php echo $donnees['contenu'];?>
</p>
<?php
}
// Fin de la boucle,
?>


mais le problème c'est qu'il m'affiche tous le titres et contenu de toutes les news au lieu de celle que j'ai cliqué

et aussi le problème de date en automatique ca deconne tout jour
AleiZ


Membre
Messages : 3700

lundi 29 janvier 2007 à 15:13:02     
avec ton code comment tu veux que ça en affiche qu'une ?

Fonctionnement classique:
-tu ouvres index.php
-tu cliques sur une des 20 premières news sur la page index.php
-ça te balance sur la page: news.php?id_news. Et là, id_news n'a pas de valeur donc il sert à quoi ?
Dans ta requête, tu fais 'SELECT * FROM actualites' donc forcément tu prends toutes les news

Remarques:

1. Tu affiches news.php: aucun menu, ni headers, ni style ect n'apparaissent quand tu cliques sur une news ?

2. C'est bizarre de rajouter une page pour ça: gère l'affichage des news dans index.php avec un "if(isset($_GET['id_news']".
Donne une valeur à id_news dans ton href et modifie ta requête en conséquence. En fait y'a même pas besoin de faire une requête: suffit de faire l'affichage de la news $_GET['id_news'] == $donnes['id'] (ou le nom que tu as donné dans ta table).
A mon avis ta pas trop du relire ton code


3. C'est quoi ce truc de faire des choses du genre:
<?php
while(xxx) {
?>
<br />
<?php
du code php
?>
Je suis pas du tout un roi du php propre mais c'est crade je trouve.

4. pour les dates, tu prends n'importe quel tuto et tu te débrouilles c'est quand même pas dur du tout, faut pas abuser.

Bref je vois pas comment tu pouvais espérer que ça marche

Message édité par AleiZ le lundi 29 janvier 2007 à 15:13:48
xalis


Membre
Messages : 9791

lundi 29 janvier 2007 à 15:16:03     
et mon problème ?

debugger

Message édité par benoît le lundi 29 janvier 2007 à 15:16:51
AleiZ


Membre
Messages : 3700

lundi 29 janvier 2007 à 15:25:32     
CODE :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
  <head>
             <title>Hard &amp; Cooling - Accueil - vous êtes les les bienvenues.</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<?php
echo "  <style type=\"text/css\" media=\"screen\">\n";
echo "   @import url(".$css."/style.css);\n";
echo "  </style>\n";
?>  

 
  </head>
  <body>
  <!-- L'en-tête -->
  <?php
  include("haut.php");
  ?>


   
<!--menu latérale-->

  <?php
  include("menu.php");
  ?>

      <!-- Le corps ou le contenu;)-->

      <div id="corps">
     
   
          <h1>Les dernières actualités</h1>

<?php
mysql_connect("localhost", "samsara77", "mdp");
mysql_select_db("samsara77");

if(isset $_GET['id_news')){
// tu fais ici une requête pour récupérer la news que tu veux afficher
// on affiche la news
<h1><?php echo $donnees['titre'];?></h1>
<p>
<?php echo $donnees['contenu'];?>
</p>
}
else{
// On récupère les 20 dernières news
$retour = mysql_query('SELECT * FROM actualites ORDER BY id DESC LIMIT 0, 20');

//Déconnection de la base de données.
mysql_close();

while ($donnees = mysql_fetch_array($retour))
{
?>
<p>
<a href="?id_news=<?php echo $donnees['id']; ?>">
    <?php  echo $donnees['date']; echo $donnees['titre'];  ?><br />
 </a>
<div id="cat" categorie : <?php echo $donnees['categorie'];?></div><br />
 </p>  
<?php
}
}
// Fin de la boucle,
?>
      </div>

      <!-- Le pied de page -->
  <?php
  include("bas.php");
  ?>


<!--il n'y as plus rien :)-->
 </body>

</html>


Voilà comment j'aurais vu ça

EDIT: sorry denoit. je dois bosser le php cette semaine vu que je vais pas au ski faute de bonne neige. Je connais le php juste parce que j'ai fait un peu de C et que ça se ressemble. J'en ai jamais vraiment fait donc tout ce qui est session, je m'y connais pas encore.

J'attaque le PHP cet aprem et après le gros morceau AJAX
(avec ce bouquin que je conseille pour le peu que j'en ai lu et ce qu'on m'en a dit: http://www.amazon.fr/Bien-d%C3%A9velopper-...s/dp/2212120281 )
Faut que j'emprumpte le livre que debugger a conseillé pour le CSS: le livre de Raphael Goetter, il a l'air )

Message édité par AleiZ le lundi 29 janvier 2007 à 15:37:09
debugger


Membre
Messages : 2002

lundi 29 janvier 2007 à 19:31:18     
QUOTE (benoît @ lundi 29 janvier 2007 à 14:16:03) :

et mon problème ?

debugger

tu as 2 problèmes

1) unlink("/sessions/".$fichier);
tu ne peux pas faire ça car a priori /sessions ne t'appartient pas
solution : mets un chemin relatif (ex : ../sessions)

2) session_start() crée ou ouvre un fichier de session et php t'avertit (warning) que le fichier que tu effaces est utilisé, mais il l'efface bien quand même
solution : n'appelle pas session_start() ou alors appelle session_destroy() avant ton code d'effacement
xalis


Membre
Messages : 9791

lundi 29 janvier 2007 à 20:52:00     
je t'aime toi
marillion


touché par le virus "overclocking"
Messages : 632

lundi 29 janvier 2007 à 22:02:33     
ok merci benoit, je travaillerais ça demain
AleiZ


Membre
Messages : 3700

lundi 29 janvier 2007 à 22:04:00     
Google




     
Pages : « Première ...  5  6  7  8  9  10  11  12  13  14  15 ...  Dernière »