case e file_get_contents

danilob

Utente Attivo
3 Feb 2007
124
0
0
PHP:
<?
	
    $query = @mysql_query("SELECT * FROM articoli ORDER BY data desc limit 4") or die (mysql_error());
  while($fetch = @mysql_fetch_array($query))
   {
	   
  $news_id_list = stripslashes($fetch['id_articoli']);
  $news_titolo_list = stripslashes($fetch['titolo_articolo']);
  $news_testo_list = stripslashes($fetch['news_testo']);
  $id_admin_est = stripslashes($fetch['id_admin_est']);
  
 
//modifichiamo la data nel formato europeo dd mm yyyy
  $news_data_list = preg_replace('/^(.{4})-(.{2})-(.{2})$/','$3-$2-$1', stripslashes($fetch['data']));
  
//i titoli delle notizie in home page
		 // echo "<li><a href=\"/Articoli/visual_articoli.php?id_articoli=" .$news_id_list. "\">" .$news_titolo_list. "</a></li>";
	
	
   
   
   ?>
   
   
       <li><a href="?pagina=articoli"><? echo"$news_titolo_list"; ?> </a></li> 
        
	<?
	}
	$pagina = $_GET['pagina'] or $_POST['pagina'] ;

switch($pagina)

{
case 'orari': include('orari_corsi.php');

 break;
 
case 'promozioni': include('Promozioni.php');
 break;
 
case 'Submit': include('login.php');
 break;
 
 case 'articoli': $miastringa = file_get_contents('http://www.newbodycenter.it/Articoli/visual_articoli.php?id_articoli=8');
echo"$miastringa";
 
 
 //include('/Articoli/prova.php');
  //echo "<li><a href=\"/Articoli/visual_articoli.php?id_articoli=" .$news_id_list. "\">" .$news_titolo_list. "</a></li>";
  break;
 
default: include('content2.php');
}

sapet dirmi dove sbaglio...

Non mi passa la variabile $news_id_list:crying:
 
Ultima modifica di un moderatore:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
dici che non ti passa la variabile $news_id_list, dove la usi? nella riga commentata (l'ho decommentata)?
poi non la legge o non la trasmette alla pag visual_articoli.php.
per prima cosa metti un var_dump e posta quello che riporta

PHP:
<?php
$query = mysql_query("SELECT * FROM articoli ORDER BY data desc limit 4") or die (mysql_error());
while($fetch = mysql_fetch_array($query)){
	$news_id_list = $fetch['id_articoli'];// se id è un intero non serve strip
	//****metti qui un var_dup che poi toglierai
	var_dump($fetch['id_articoli']);
	$news_titolo_list = stripslashes($fetch['titolo_articolo']);
	$news_testo_list = stripslashes($fetch['news_testo']);
	$id_admin_est = stripslashes($fetch['id_admin_est']);//id è un intero? se si anche qui non serve strip
	//modifichiamo la data nel formato europeo dd mm yyyy
	$news_data_list = preg_replace('/^(.{4})-(.{2})-(.{2})$/','$3-$2-$1', stripslashes($fetch['data']));
	//i titoli delle notizie in home page
	echo "<li><a href=\"../Articoli/visual_articoli.php?id_articoli=$news_id_list\">$news_titolo_list</a></li>";
	echo "<li><a href=\"?pagina=articoli\">$news_titolo_list</a></li>";
}
$pagina = $_REQUEST['pagina'];
switch($pagina){
	case 'orari': include('orari_corsi.php');
		break;
	case 'promozioni': include('Promozioni.php');
		break;
	case 'Submit': include('login.php');
		break;
	case 'articoli': $miastringa = file_get_contents('http://www.newbodycenter.it/Articoli/visual_articoli.php?id_articoli=8');
		echo"$miastringa";
		//include('/Articoli/prova.php');
		//echo "<li><a href=\"../Articoli/visual_articoli.php?id_articoli=" .$news_id_list. "\">" .$news_titolo_list. "</a></li>";
		break;
	default: include('content2.php');
		break;
} 
?>
p.s.
non usare lo short tag ma <?php
 

danilob

Utente Attivo
3 Feb 2007
124
0
0
eco il risultato:

string(1) "6"
L'esercizio fisico cambia il DNA cellulare
string(1) "8"
Ad un passo dal filmare le proteine?
string(1) "9"
Ecco perchè la marijuana fa male alla memoria
 

danilob

Utente Attivo
3 Feb 2007
124
0
0
inoltre il codice che io vorrei è:

case 'articoli': $miastringa = file_get_contents("http://www.newbodycenter.it/Articoli/visual_articoli.php?id_articoli=".$news_id_list."");
echo"$miastringa";
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
quindi è li che vorresti la variabile?
se è così metti quei var_dump(), ho un piccolo dubbio
per ora non toglier il primo var_dump
PHP:
<?php
//...................
        break; 
    case 'articoli':
		var_dump($pagina);
		var_dump($news_titolo_list);
		$miastringa = file_get_contents('http://www.newbodycenter.it/Articoli/visual_articoli.php?id_articoli=8'); 
        echo"$miastringa"; 
        //include('/Articoli/prova.php'); 
        //echo "<li><a href=\"../Articoli/visual_articoli.php?id_articoli=" .$news_id_list. "\">" .$news_titolo_list. "</a></li>"; 
        break; 
//...............
?>
e come il solito riporta il risultato
 

danilob

Utente Attivo
3 Feb 2007
124
0
0
ma qui non devo mettere l'8 ma la variabile $news_id_list

mettendo così:

PHP:
case 'articoli':
        var_dump($pagina);
        var_dump($news_titolo_list);
        $miastringa = file_get_contents('http://www.newbodycenter.it/Articoli/visual_articoli.php?id_articoli="$news_id_list"'); 
        echo"$miastringa";

ottengo:
Codice:
string(8) "articoli" string(39) "Allergia e sport: un binomio possibile!"

Secondo me mi lascia l'ultimo id del ciclo while...
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
scusa ho fatto un errore io nel copia incolla, volevo sapere del $news_id_list
sostituisci
var_dump($news_titolo_list);
con
var_dump($news_id_list);
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
il tuo ultimo post dopo averlo letto meglio, mi ha rinforzato il dubbio, fai questa prova
nel while metti
$news_id_list[] = $fetch['id_articoli'];
e
$news_titolo_list[] = stripslashes($fetch['titolo_articolo']);
poi nello switch
PHP:
<?php
//.....
case 'articoli':// $miastringa = file_get_contents('http://www.newbodycenter.it/Articoli/visual_articoli.php?id_articoli=8'); 
        //echo"$miastringa"; 
        include('/Articoli/prova.php'); 
		$quanti=count($news_id_list);
		for($k=0;$k<$quanti,$k++){
			echo "<li><a href=\"../Articoli/visual_articoli.php?id_articoli=" .$news_id_list[$k]. "\">" .$news_titolo_list[$k]. "</a></li>"; 
		}
        break; 

//....
?>
dovrebbe visualizzarti tutti gli id che hai estratto col while
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
hai ragione (non avevo ancora preso il caffè):crying:
correggi
for($k=0;$k<$quanti,$k++){
in
for($k=0;$k<$quanti;$k++){

verifica che non ce ne siano altri
 

danilob

Utente Attivo
3 Feb 2007
124
0
0
riporto il codice completo.

PHP:
<?
include "config/config_db4.php";
include "config/function.inc";

?>
<!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" lang="en-US">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<head>
<title>newbodycenter.it</title>
<meta http-equiv="content-type"
    content="text/html; charset=utf-8" />
    
<link rel="stylesheet" type="text/css" href="/css/2col.css" />

</head>
<body>
<div id="header">
	<img src="/img_header/logo.jpg" width="76" height="100" alt="Stage &amp; Screen" class="logo" />
	<span class="strapline">newbodycenter.it</span>
</div>

<div id="nav">
	<ul>
    <?  //richiam la funzione per inserire pulsante home se la pagina è diversa da home
	echo pagina_attuale("<li>Torna in Homepage</li>");?>
		<li><a href="?pagina=orari">Orari</a> </li>
		<li><a href="#">Corsi</a></li>
		<li><a href="?pagina=promozioni">Promozioni</a></li>
		<li><a href="#">Newsletter</a></li>
		<li><a href="#">Contatti</a></li>
	</ul>
	<h2>Latest Reviews</h2>
	<ul>
     <!--articoli---------------------- -->
    <?
	
    $query = @mysql_query("SELECT * FROM articoli ORDER BY data desc limit 4") or die (mysql_error());
  while($fetch = @mysql_fetch_array($query))
   {
	$news_id_list = $fetch['id_articoli'];// se id è un intero non serve strip
    //****metti qui un var_dup che poi toglierai
    var_dump($fetch['id_articoli']);   
	 
 
  $news_titolo_list = stripslashes($fetch['titolo_articolo']);
  $news_testo_list = stripslashes($fetch['news_testo']);
  $id_admin_est = stripslashes($fetch['id_admin_est']);
  
 
//modifichiamo la data nel formato europeo dd mm yyyy
  $news_data_list = preg_replace('/^(.{4})-(.{2})-(.{2})$/','$3-$2-$1', stripslashes($fetch['data']));
  
//i titoli delle notizie in home page
	//	 echo "<li><a href=\"/Articoli/visual_articoli.php?id_articoli=" .$news_id_list. "\">" .$news_titolo_list. "</a></li>";
	
	
    
   ?>
   
   
       
         <li><a href="?pagina=articoli"><? echo"$news_titolo_list"; ?> </a></li> 
        
	<?
	
	   }
	?>	
  </ul>
   </div>
   <div id="side1">
	<form method="post" action="?pagina=Submit" id="searchform">
    <h3>Login</h3>
	
		<div>
          <p>
            <label for="password">Username:</label>
            <input type="text" name="Mod_Login" id="Mod_Login" class="txt" /><br /><br />
            <label for="password">Password:</label>
            <input type="password" name="Mod_Pass" id="Mod_Pass" class="txt" />
       
          <p align="center">
            <input type="submit" name="Submit" value="Submit" /></p>
         
		</div>
	</form>	
	<ul>
    <li><a href="#">About Us</a></li>
		<li><a href="#">Recipes</a></li>
		<li><a href="#">Articles</a></li>
		<li><a href="#">Buy Online</a></li>
		<li><a href="#">Contact Us</a></li>
	</ul>	
</div>
 <div id="content">
<?
$pagina = $_REQUEST['pagina']; 
$link= $_REQUEST["$news_id_list"]; 

switch($pagina.$link)

{
case 'orari': include('orari_corsi.php');

 break;
 
case 'promozioni': include('Promozioni.php');
 break;
 
case 'Submit': include('login.php');
 break;
 
//.....
case 'articoli':// $miastringa = file_get_contents('http://www.newbodycenter.it/Articoli/visual_articoli.php?id_articoli=8'); 
        //echo"$miastringa"; 
       
        $quanti=count($news_id_list);
        for($k=0;$k<$quanti;$k++){
            echo "<li><a href=\"../Articoli/visual_articoli.php?id_articoli=" .$news_id_list[$k]. "\">" .$news_titolo_list[$k]. "</a></li>"; 
        }
        break; 

//.... 
 
 
 //include('/Articoli/prova.php');
  //echo "<li><a href=\"/Articoli/visual_articoli.php?id_articoli=" .$news_id_list. "\">" .$news_titolo_list. "</a></li>";
  break;
 
default: include('content2.php');
}

?>	

</div>  
</body>
</html>
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
scusa ma non capisco se funzia o no.
comunque quello che hai postato prima era il codice che stai usando?
se si ci sono un paio di cose:
1. non hai commentto il var_dump che può dare fastidio nella visualizzazione
2. non hai nel while reso le variabili array ($news_id_list deve diventare $news_id_list[]) che poi usi in seguito nel ciclo for, se nel ciclo for usi altre valore tratte dal while metti anche quelli in array)
PHP:
<?php
//......
while($fetch = @mysql_fetch_array($query)){
	$news_id_list[] = $fetch['id_articoli'];// QUI ARRAY
	//****metti qui un var_dup che poi toglierai
	//var_dump($fetch['id_articoli']);
	$news_titolo_list[] = stripslashes($fetch['titolo_articolo']);// QUI ARRAY
	$news_testo_list = stripslashes($fetch['news_testo']);
	$id_admin_est = stripslashes($fetch['id_admin_est']);
	//modifichiamo la data nel formato europeo dd mm yyyy
	$news_data_list = preg_replace('/^(.{4})-(.{2})-(.{2})$/','$3-$2-$1', stripslashes($fetch['data']));
	//i titoli delle notizie in home page
	//qui non puoi mettere l'array ti conviene ripetere il $fetch[]
	echo "<li><a href=\"/Articoli/visual_articoli.php?id_articoli=" .$fetch['id_articoli']. "\">" .stripslashes($fetch['titolo_articolo']). "</a></li>";
?>
<li><a href="?pagina=articoli"><? echo"$news_titolo_list"; ?> </a></li>
<?php
}
//....
?>
ancora delle piccole osservazioni
ho visto la tua index2.php non usare giustificato ma allinea a Sx è brutto vedere "parola 10 spazi altra parola" poi secondo me sarebbe meglio il size più piccolo.
poi per il forum: possibilmente non "sbrodolare" il codice in quel modo e racchiudilo negli appositi tag (seconda riga della barra di formattazione una delle ultime tre iconcine)
questo per facilitare la lettura
 

danilob

Utente Attivo
3 Feb 2007
124
0
0
non funziona...

C'è un errore qui:

così mi stampa due volte i titoli dal databse e poi su uno mi riporta l'articolo in una nuova pagina (cosa che io non vorrei) sul'altro mi riporta un'altro lenco nel div di fianco ma io vorrei che mi riportasse l'articolo....

http://www.newbodycenter.it/index2.php
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Facciamo un passo indietro e ricominciamo da capo. Ho sistemato il codice:
PHP:
<?php
require_once __DIR__ . 'config/config_db4.php';
require_once __DIR__ . 'config/function.inc';
?>
<!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" lang="en-US">
    <head>
        <title>newbodycenter.it</title>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" type="text/css" href="/css/2col.css" />
    </head>

    <body>
        <div id="header">
            <img src="/img_header/logo.jpg" width="76" height="100" alt="Stage &amp; Screen" class="logo" />
            <span class="strapline">newbodycenter.it</span>
        </div>

        <div id="nav">
            <ul>
                <?php
                echo pagina_attuale('<li>Torna in Homepage</li>');
                ?>
                <li><a href="?pagina=orari">Orari</a> </li>
                <li><a href="#">Corsi</a></li>
                <li><a href="?pagina=promozioni">Promozioni</a></li>
                <li><a href="#">Newsletter</a></li>
                <li><a href="#">Contatti</a></li>
            </ul>

            <h2>Latest Reviews</h2>
            <ul>
                <?php
                $query = mysql_query('SELECT * FROM articoli ORDER BY data DESC LIMIT 4') or die (mysql_error());

                while ($row = mysql_fetch_array($query)) {
                    $row = array_map('stripslashes', $row);
                    $row['data'] = preg_replace('/^(.{4})-(.{2})-(.{2})$/','$3-$2-$1', $row['data_articolo']);

                    echo "<li><a href=\"?pagina=articoli\">{$row['titolo_articolo']}</a></li>";
                }
                ?>
            </ul>
        </div>

        <div id="side1">
            <form method="post" action="?pagina=submit" id="searchform">
                <h3>Login</h3>
                <div>
                    <p>
                        <label for="password">Username:</label>
                        <input type="text" name="Mod_Login" id="Mod_Login" class="txt" />
                    </p>

                    <p>
                        <label for="password">Password:</label>
                        <input type="password" name="Mod_Pass" id="Mod_Pass" class="txt" />
                    </p>

                    <p align="center">
                        <input type="submit" name="Submit" value="Submit" />
                    </p>
                </div>
            </form>

            <ul>
                <li><a href="#">About Us</a></li>
                <li><a href="#">Recipes</a></li>
                <li><a href="#">Articles</a></li>
                <li><a href="#">Buy Online</a></li>
                <li><a href="#">Contact Us</a></li>
            </ul>
        </div>

        <div id="content">
            <?php
            // ...
            ?>
        </div>
    </body>
</html>
E ho scritto alcuni consigli per migliorare il codice:
  • Non mischiare PHP e HTML: usa un template engine.
  • Non usare l'abbreviazione <?.
  • Usa i singoli apici dove i doppi non sono necessari.
  • Indenta correttamente il codice.
  • Non usare @ per sopprimere gli errori.
  • Scrivi le keyword SQL in maiuscolo.
  • Non chiudere il tag PHP per inserire una sola riga di HTML.
  • Usa <p> invece di <br>.

Poi c'è una cosa che non capisco (ed è il motivo per cui ho eliminato il codice in content): nella pagina visualizzi una lista dei 4 ultimi articoli, e fai in modo che i titoli puntino al link ?pagina=articoli. Perché? Non dovrebbero puntare, invece, alla pagina in cui si visualizza l'articolo completo?
 

danilob

Utente Attivo
3 Feb 2007
124
0
0
ciao Alessandro....

la pagina la trovi qui: http://www.newbodycenter.it/index2.php

Io vorrei che cliccando sull'articolo di sx questo comparisse del <DIV> di destra e non in una sngola pagina...

Il codice che mi hai riscritto non funziona verifica al link di cui sopra..

grazie
 

danilob

Utente Attivo
3 Feb 2007
124
0
0
in pratica dopo il ciclo while non riesco a portarmi fino al cse la variabile $news_id_list
 

danilob

Utente Attivo
3 Feb 2007
124
0
0
ho risistemato il codice ma alla fine mi riporta solo l'ultimo id nella pagina visual
_articoli.php
 
Discussioni simili
Autore Titolo Forum Risposte Data
L Menù con switch case C/C++ 1
D Ragionamento Switch Case Javascript 1
K [Java] aiuto switch case Java 1
L [PHP] case then e campo non riconosciuto PHP 0
G [Javascript] eseguire test-case Selenium da riga di comando... Javascript 0
L htaccess case insensitive Apache 0
alankanz switch case con explode PHP 1
F Case sensitive mi crea problemi PHP 1
D passaggio di due vriabili a "case" PHP 3
C Case Milano Vendita Presenta il tuo Sito 0
I creazione di campo in fron case sensiti PHP 1
D Script con switch case e while PHP 2
6 Case sensitive in ricerca su db Classic ASP 2
A Autenticazione sicura e Case sensitive Classic ASP 0
S Siti web dinamici per case vacanza e tursimo Offerte e Richieste di Lavoro e/o Collaborazione 0
D Select Case non vede le variabili Classic ASP 2
W Problema switch case e $_GET PHP 0
D Aiuto con Select Case Classic ASP 3
E fpdf salvare e aprire il file PHP 4
I asp | includere un file, indirizzo depositato in un db Classic ASP 0
felino [Windows 10] Scompare icone, file e collegamenti sul desktop Windows e Software 0
S passare un valore da un form a un file .php con metodo post PHP 4
D Miglior modo per estrarre le occorrenze di un elemento in un set di più file xml e quindi scrivere il risultato in una tabella Excel o magari in JSON XML 0
G file CSS contenente variabili HTML e CSS 1
M Creare traccia di download file sul server HTML e CSS 2
I elimina file PHP 1
I cerca file sottocartella unlink file PHP 0
I sessione username scarica file PHP 1
S Aggiornare percorso file collegati MS Access 0
I lista file sottocartella elimina file PHP 3
F comando di inclusione file audio in I-Pad non funziona HTML e CSS 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
I visualizza file sottocartella elimina singolo file PHP 1
I caricamento file in sottocartella nome utente PHP 3
I cartella sottocartella apri o scarica file pdf PHP 1
K Sfondo nuovo file Photoshop 0
C Wp-admin a file php WordPress 5
G Importazione file .sql Web Server 0
csi Inviare file jpg in locale alla stampante con php PHP 0
otto9due Proteggere una cartella e file con password tramite .htaccess e .htpasswd Web Server 0
MarcoGrazia HTML5 <picture> e i file source HTML e CSS 2
MarcoGrazia criptare un file PHP 2
U Link a doppio file PHP PHP 0
U Link a pagina ed esecuzione file PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
I Documento file word Java 0
FDF182 file .bin nell' email PHP 0
E Sito violato, file modificati, cartelle create WordPress 1
F LETTURA FILE SU DIRECTORY IN RETE Javascript 0
Y Percorso assoluto file immagine HTML e CSS 9

Discussioni simili