Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 32

Hybrid View

  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Quote Originariamente inviata da LedGiallo Visualizza il messaggio
    ...
    per il codice intero non voglio più pubblicarlo per motivi che e mio personale...
    E allora non farci ammattire a noi per cercare un errore che magari sta in qualche posto che non ci dici.

    Comunque
    preg_match("[A-Za-z0-9]", "".strtolower($url)."")

    continua ad essere sbagliato, non puoi passare così l'espressione regolare a preg_match().

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323
    guarda, ho quasi risolto.. ho messo:
    Codice PHP:
    if(preg_match("/[A-Za-z0-9]/"strtolower($url))) 
    vedendo questo link:
    http://stackoverflow.com/questions/4...z0-9-and-space
    vedi la risposta dove c'è la v in verde

    che cosa volgono dire i due / uno all'inizio e uno alla fine..

    poi perché se scrivo l'url in questo modo : pages.php?url=../start/index
    mi carica la index nel mio motore degli include?
    come posso evitare?

    grazie mille e scusatemi molto ..

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Quote Originariamente inviata da LedGiallo Visualizza il messaggio
    guarda, ho quasi risolto.. ho messo:
    Codice PHP:
    if(preg_match("/[A-Za-z0-9]/"strtolower($url))) 
    vedendo questo link:
    C'è scritto anche nel link che ti ho segnalato io, è la documentazione ufficiale di PHP, ci mancherebbe che non ci fosse scritto.

    che cosa volgono dire i due / uno all'inizio e uno alla fine..
    Come puoi vedere sempre dal link che ti ho proposto, sono dei delimitatori per l'espressione regolare.

    poi perché se scrivo l'url in questo modo : pages.php?url=../start/index
    mi carica la index nel mio motore degli include?
    come posso evitare?

    grazie mille e scusatemi molto ..
    Non sapendo come usi $_GET['url'] nel tuo script, non sono in grado di risponderti.

  4. #4
    Quote Originariamente inviata da LedGiallo Visualizza il messaggio
    guarda, ho quasi risolto.. ho messo:
    ...che cosa volgono dire i due / uno all'inizio e uno alla fine..
    Che i manuali vanno letti!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323
    ok, ti rispondo con piccolo codice che poi sarebbe tutto il motore..

    Codice PHP:
    $url = (isset($_GET["url"])) ? trim ((string)$_GET["url"]): '';
    layout_header($title);
    include(
    "pages/".strtolower($url).".php");
    layout_footer(); 
    se uno digita nella barra degli indirizzi questa maniere ../start/index
    conoscendo le cartelle mi va includere la pagina che è dentro il motore pages.php che il codice sarebbe
    quello che ti ho scritto ora ..

    il layout_header, layout_footer , sono solamente delle funzioni che includono la template html e css.

    idea come fare per evitare l'auto inclusione di altre pagine che non sono richiamate da pages.php?

    ti ringrazio molto, io speravo che con la regolare espressione risolvevo il problema , invece lo fa alcuni casi tipo / \ è '0 èlà etc..

    ti ringrazio di nuovo.

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Ti viene generata una url del tipo

    pages/../start/index

    chiaramente quei .. lì sono sbagliati.

    Non capisco il tuo problema a mostrare il codice, non mi pare che tu abbia inventato una cosa rivoluzionaria che potrebbero rubarti, anzi, stai facendo un pastrocchio.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323
    ciao, ecco ti il codice completo..
    per l'url se uno richiama in quella maniera ( ../start/index.php ) si include la index dentro alla pages.php.

    ora vi posto il codice che tanto sono solo include e array.

    codice:
    <?phpinclude('inc.php');
    include('template/'.$theme.'/template.php');
    
    
    $url = (isset($_GET["url"])) ? trim ((string)$_GET["url"]): '';
    
    
    if(preg_match("/[A-Za-z0-9]/", strtolower($url)))
    {
    	if(file_exists(strtolower("pages/".strtolower($url).".php")))
    	{		
    					if (array_key_exists(''.$url.'', $arrPages)) 
    					{
    						$title =  $arrPages[''.strtolower($url).''];
    						}else
    						{
    							$title = "";
    						}
    						
    						layout_header($title);
    						include("pages/".strtolower($url).".php");
    						layout_footer();	
    					}else
    					{
    						$title = "404 not found";
    						layout_header($title);
    						include("pages_error/error_404.php");
    						layout_footer();
    						
    					}
    	
    }else
    {
    	$title = "Accesso non consentito";
    	layout_header($title);
    	include("pages_error/error_403.php");
    	layout_footer();
    	
    }
    ?>
    niente non riesco ad inserirlo nei tag php del forum essendo sia unix e ansi. booo.

    vi ringrazio molto.

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323
    ho provato tutte le codifiche ma nulla... per caso devo impostare qualcosa nel forum?

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    No scusa, questo

    $_GET['url'] = '../start/index';
    $url = (isset($_GET["url"])) ? trim ((string)$_GET["url"]): '';
    include("pages/".strtolower($url).".php");

    non vuol dire "includi la index dentro a pages.php", ma vuol dire "includi pages.php/../start/index" che è un'URL sbagliata.

    Quote Originariamente inviata da LedGiallo Visualizza il messaggio
    ho provato tutte le codifiche ma nulla... per caso devo impostare qualcosa nel forum?
    Prova ad andare nel menu "Converti" e seleziona "UTF8 senza BOM", poi salva.

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323
    per evitare quello cosa devo fare?
    grazie mille e per quello che avevo pensato ad una regolare espressione .. ma non so come mai prende sempre ../start/index che noi
    gli abbiamo detto solo numeri e lettere e senza .. e / come mai?

    grazie mille e scusa del codice incasinato.

    ora provo come mi hai detto tu..per notepad++ caso mai lo reinstallo.

    ciao a stasera ora devo andare via.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.