problema come reindirizzare una pagina intro

deepspac

Nuovo Utente
17 Giu 2012
11
0
0
Salve,
innanzi tutto spero di aver inserito il post nella sezione giusta.

Il mio problema è che ho un sito sulla root principale con pagina principale index.php (fatto con prestashop).
Dovrei creare una pagina intro ma ho provato di tutto ma non riesco in nessun modo.
Qualcuno mi ha suggerito di inserire una pagina index.html in una sotto directory e poi fare un redirect con .htaccess ......ma non so come fare, non so se è l'unico metodo e se è il metodo migliore.

In attesa di un aiuto vi ringrazio

Deepspac
 
ciao, sono nuovo nel forum e nel mondo php. Ma non ho capito bene. Tu vuoi mettere una pagina prima di index.php in modo tale che la pagina di introduzione diventi la prima pagina che viene visualizzata dall'utente che accede e poi es. se l'utente/visitatore pigia su "Skip intro" appare la index.php?

Se è così, non ti basta rinominare la pagina nel senso, chiamare index.php la pagina intro e la pagina che attualmente si chiama index.php la chiami come vuoi?

Forse non ho capito per la poca esperienza o sono fuori strada proprio, ma almeno facci sapere
 
Ciao
e grazie per l'interessamento.
Quindi quello che voglio fare io è proprio quello che dici, quindi l'hai capito bene.

Purtroppo non posso fare come dici tu e cioè rinominare la pagina index.php perchè altrimenti mi sballerebbe tutti i riferimenti dell'intero sito alla pagina principale .....cioè index.php.

Comunque grazie.....se ti vengono in mente delle soluzioni ben vengano.

Ciao
 
Ciao,
potresti porvare sfruttando le sessioni:

all'inizio della pagina index.php scrivi cosi:

PHP:
<?php
//inizializzi la sessione
session_start();
// se non è settata la sessione intro
if (!$_SESSION["INTRO"]) {
    // rimandi alla intro che si occupera tra l'altro di settarla
    header('location:intro.php');
}
// altrimenti vai avanti con la tua pagina

// al massimo puoi distruggere la sessione per rimandare l'utente all'introduzione al prossimo caricamento della index
unset($_SESSION["INTRO"]);
?>
Pagina index .......

nella pagina di introduzione se in php scrivi questo:

PHP:
<?php
//inizializzi la sessione
session_start();
//inizializzi la sessione intro
$_SESSION["INTRO"] = true;
// rimandi alla index dopo tot secondi
header("refresh:10;url=index.php"); 
?>
Pagina introduttiva .......
 
Ciao Criric,
forse ci siamo!! Se tu fossi qua ti darei un bacio!!
Diciamo che ancora non mi funziona, ma vedo dei risultati e quindi penso perchè sono io che sto sbagliando qualcosa......

diciamo che questa è la mia pagina index.php:

------------------------------------------------------------------------------------------------------
PHP:
<?php


/*

* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <[email protected]>
*  @copyright  2007-2012 PrestaShop SA
*  @version  Release: $Revision: 14007 $
*  @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*/

require(dirname(__FILE__).'/config/config.inc.php');
ControllerFactory::getController('IndexController')->run();
-------------------------------------------------------------------------------------------------
a questa io gli ho aggiunto pari pari come mi hai suggerito tu questo pezzo:
---------------------------------------------------------------------------------------------------
PHP:
<?php
//inizializzi la sessione
session_start();
// se non è settata la sessione intro
if (!$_SESSION["INTRO"]) {
    // rimandi alla intro che si occupera tra l'altro di settarla
    header('location:intro.php');
}
// altrimenti vai avanti con la tua pagina

// al massimo puoi distruggere la sessione per rimandare l'utente all'introduzione al prossimo caricamento della index
unset($_SESSION["INTRO"]);
?>

quindi mi è venuto fuori così:

PHP:
<?php
//inizializzi la sessione
session_start();
// se non è settata la sessione intro
if (!$_SESSION["INTRO"]) {
    // rimandi alla intro che si occupera tra l'altro di settarla
    header('location:intro.php');
}
// altrimenti vai avanti con la tua pagina

// al massimo puoi distruggere la sessione per rimandare l'utente all'introduzione al prossimo caricamento della index
unset($_SESSION["INTRO"]);
?>

/*

* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <[email protected]>
*  @copyright  2007-2012 PrestaShop SA
*  @version  Release: $Revision: 14007 $
*  @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*/

require(dirname(__FILE__).'/config/config.inc.php');
ControllerFactory::getController('IndexController')->run();

poi ho chiamato la mia pagina index.html intro.php (l'ho presa pari pari e rinominata) e gli ho aggiunto il codice sempre da te suggerito all'inizio :

PHP:
<?php
//inizializzi la sessione
session_start();
//inizializzi la sessione intro
$_SESSION["INTRO"] = true;
// rimandi alla index dopo tot secondi
header("refresh:10;url=index.php"); 
?>

Risultato che adesso come prima pagina iniziale mi viene fuori giustamente intro.php però purtroppo mi va in loop e mi carica sempre lei e non index.php.

Sicuramente sto sbagliando qualcosa io........
Dove sta l'inghippo?

Ti ringrazio ancora per l'eventuale ulteriore aiuto
Ciao

Deepspac
 
quindi mi è venuto fuori così:

questa parte di codice è errata: la chiusura di php (?>) va messa in fondo alla pagina

Probabilmente dti va in loop perche la index non riconosce la sessione

Prova a mettere in cima alla index
PHP:
session_start();
var_dump($_SESSION);
die();

e richiama la intro.php quando torna alla index leggi cosa ha stampato
 
Ciao Criric,

ho capito il fatto che (?>) va alla fine della pagina, ma non ho capito dove mettere l'ultimo blocco di codice che mi hai inserito.........
ho fatto ovviamente un pò di prove ad inserirlo all'inizio della pagina ma senza successo .........

ma dovevo cancellare quello che mi avevi dato ieri? Oppure va messo insieme?.........fatto sta che non va in loop ma da errori......

Purtroppo mi devi guidare passo passo come un bambino perchè il php non lo conosco proprio.

Ciao e ri-grazie

Deepspac
 
fatto sta che non va in loop ma da errori

che errori?

cmq intendevo cosi per verificare che la sessione intro sia settata

PHP:
<?php
//inizializzi la sessione
session_start();
// stampi tutti i valori di session
var_dump($_SESSION);
// blocchi l'esecuzione della pagina
die();  
// se non è settata la sessione intro
if (!$_SESSION["INTRO"]) {
    // rimandi alla intro che si occupera tra l'altro di settarla
    header('location:intro.php');
}
// altrimenti vai avanti con la tua pagina

// al massimo puoi distruggere la sessione per rimandare l'utente all'introduzione al prossimo caricamento della index
unset($_SESSION["INTRO"]);
?>

come gia detto dovrai richiamare la intro.php perche la index ti si blocchera subito dopo averti stampato i valori di sessione
 
Ciao Criric,
allora ho impostato la mia index.php così:

PHP:
<?php 
//inizializzi la sessione 
session_start(); 
// stampi tutti i valori di session 
var_dump($_SESSION); 
// blocchi l'esecuzione della pagina 
die();   
// se non è settata la sessione intro 
if (!$_SESSION["INTRO"]) { 
    // rimandi alla intro che si occupera tra l'altro di settarla 
    header('location:intro.php'); 
} 
// altrimenti vai avanti con la tua pagina 

// al massimo puoi distruggere la sessione per rimandare l'utente all'introduzione al prossimo caricamento della index 
unset($_SESSION["INTRO"]); 

/*

* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <[email protected]>
*  @copyright  2007-2012 PrestaShop SA
*  @version  Release: $Revision: 14007 $
*  @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*/

require(dirname(__FILE__).'/config/config.inc.php');
ControllerFactory::getController('IndexController')->run();

?>

ma mi da errore :

array(0) { }

Qualche idea?

Grazie

Deepspac
 
Ma se richiami la intro.php ti rimanda alla index e ti mostra quel messaggio?

posta anche la intro
 
ciao,

quindi la mia intro con nome intro.php è questa:


PHP:
<?php
//inizializzi la sessione
session_start();
//inizializzi la sessione intro
$_SESSION["INTRO"] = true;
// rimandi alla index dopo tot secondi
header("refresh:5;url=index.php"); 
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US" xml:lang="en">
<head>
    <!--
    Created by Artisteer v3.0.0.33215
    Base template (without user's data) checked by http://validator.w3.org : "This page is valid XHTML 1.0 Transitional"
    -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="description" content="Boutique Negozio corsomazzini a Montebelluna (Treviso) di borse, scarpe, abbigliamento, occhiali, cinture, accessori, cerchielli, cappelli"/>
<meta name="keywords" content="corsomazzini Negozio Boutique Montebelluna Treviso borse scarpe abbigliamento accessori cinture"/>
<meta http-equiv="Reply-to" content=""/>
<meta http-equiv="content-language" content="IT"/>
<meta http-equiv="Content-Type" content="text/html; iso-8859-1"/>
<meta name="ROBOTS" content="INDEX,FOLLOW"/>
<!--<meta http-equiv="refresh" content="3"; url="http://www.corsomazzini.it/index.php">-->
<title>Boutique Corsomazzini </title>

    <link rel="stylesheet" href="style.css" type="text/css" media="screen" />
    <!--[if IE 6]><link rel="stylesheet" href="style.ie6.css" type="text/css" media="screen" /><![endif]-->
    <!--[if IE 7]><link rel="stylesheet" href="style.ie7.css" type="text/css" media="screen" /><![endif]-->

    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="script.js"></script>
	<style type="text/css">
	.style1 {
		text-align: center;
	}
	</style>
</head>
<body>
<div id="art-page-background-glare">
        <div id="art-page-background-glare-image">
    <div id="art-main">
        <div class="art-sheet">
            <div class="art-sheet-tl"></div>
            <div class="art-sheet-tr"></div>
            <div class="art-sheet-bl"></div>
            <div class="art-sheet-br"></div>
            <div class="art-sheet-tc"></div>
            <div class="art-sheet-bc"></div>
            <div class="art-sheet-cl"></div>
            <div class="art-sheet-cr"></div>
            <div class="art-sheet-cc"></div>
            <div class="art-sheet-body">
                <div class="art-content-layout">
                    <div class="art-content-layout-row">
                        <div class="art-layout-cell art-content">
                          <div class="art-post">
                              <div class="art-post-body">
                          <div class="art-post-inner art-article">
                                          <div class="art-postcontent">
                                              
                                              
                                              <p class="style1">
											  <a href="index.php">
											  <img alt="" src="../CORSO%20MAZZINI-BIANCO.jpg" width="800" /></a></p>
                                              <div class="cleared"></div>
                                              <div class="art-content-layout overview-table">
                                              	<div class="art-content-layout-row">
                                              		<!-- end cell -->
                                              		<!-- end cell -->
                                              		<!-- end cell -->
                                              	</div><!-- end row -->
                                              </div><!-- end table -->
                                                  
                                          </div>
                                          <div class="cleared"></div>
                          </div>
                          
                          		<div class="cleared"></div>
                              </div>
                          </div>
                          <div class="art-post">
                          </div>
                          <div class="cleared"></div>
                        </div>
                    </div>
                </div>
                <div class="cleared"></div>
        		<div class="cleared"></div>
            </div>
        </div>
        <div class="cleared"></div>
        <p class="art-page-footer"><a href="index.php">Boutique Corsomazzini</a></p>
    </div>
        </div>
    </div>
    
    
    
    
    
</body>
</html>

quindi la mia pagina in html iniziale con il codice in php che mi hai dato tu.

Deepspac
 
per forza in php se all'interno scrivi del codice php

cambia l'estensione non dovrebbe comportarti nula
 
togliendo il codice che mi hai dato per la pagina intro e rimettendola come inizialmente intro.html vedo che mi da lo stesso errore cioé o mi va in loop oppure se aggiungo l'ultimo codice che mi hai suggerito mi da l'errore .....array(0) { }...........
questo per dirti che molto probabilmente il problema sta in index.php e non in intro.php / html.

penso almeno........

cosa si può fare?

Deepspac
 
a proposito ho provato a spedirti già 2 volte il codice della mia pagina intro.php ma tutte e 2 le volte è stata bloccata dicendomi che deve essere approvata dal moderatore.........per quello ancora non la vedi.....non è che mi sono dimenticato......
 
non è un errore

è l'effetto di queste due righe che ti ho fatto aggiungere

PHP:
var_dump($_SESSION);
die();

toglile

e fai una copia della intro.html e chiamala intro.php


Vedo ora le pagine che hai postato
 
Ultima modifica:
Le ho provate in locale e online con Firefox e con Explorer

e fanno quello che devono fare

Non vedo errori e non capisco perche a te non funziona
 
io quasi quasi se tu accetti ti darei login e password del sito ftp per vedere come mai non funziona.

cosa dici?
 
Va bene ma ne riparliamo domani mattina,

mandami la tua mail e il link al sito in privato domani ti contatto
 

Discussioni simili