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.042
149
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.042
149
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.042
149
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.042
149
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.042
149
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.042
149
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
24
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
K File audio in html, chi mi può aiutare? HTML e CSS 0
K Aiuto con file audio in html HTML e CSS 1
Antonio67 Lanciare file shell bash da html HTML e CSS 2
G leggere file txt e stampare con php il contenuto a video PHP 7
L Modifica file upload in ASP Classic ASP 2
Cosina mostrare contenuto da file txt PHP 2
L PHPSpreadsheet inserire dati da file .xlsx/.xls su database PHP 2
M Inviare un file su un server remoto con JavaScript Javascript 0
L Ricezione dei dati su file php da modulo html PHP 6
X unire più file in un pdf Windows e Software 2
spider81man Creazione di un UNICA tabella da più file .CSV PHP 1
felino TV e pendrive USB: capacità massima e file system? Discussioni Varie 1
A invio massivo dati a file php Javascript 4
W visualizzare solo file html e sottocartelle di una cartella PHP 1
W Elenco dei link del file presenti in una cartella PHP 2
P Funzione jQuery Ajax invio file a php jQuery 1
S Download di un file in automatico dopo la sua creazione PHP 2
B ciclare file xml con PHP PHP 1
C copiare solo le vocali di un file in un'altro file PHP 2
F Funzione Glob - ricerca file contenente una parola PHP 1
L File CSV con app inventor da errore Sviluppo app per Android 2
zorro file PDF non visualizzo niente PHP 9
N Script elenco file HTML HTML e CSS 5
S Libreria PHP per creare file dwg o dxf PHP 0
T cercasi aiuto per file d1 (open-edge db) Database 0
I eliminazione file pdf PHP 0
Cosina Cancellare una specifica email da un elenco in un file txt PHP 3
R Download file multipli da directory php PHP 0
Cosina Invio messaggio a mailing list su file txt PHP 9
J GIT: Tracciare file nati successivamente SOLO in produzione HTML e CSS 0
M File excel e LibreOffice PHP 0
N file manager da php 5 a 7 PHP 15

Discussioni simili