Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    82

    Php, problema..

    salve a tutti.. inizio subito col dirvi che non conosco quasi per niente php ma mi ci sono imbattuto per preparare un form di ricerca da mettere sul mio sito..

    ho inserito un form con un imput per inserire il nome da cercare e fino a qua è tutto ok. Il problema è che non riesco a preparare correttamente il file che rientrarà nell'action.

    Io vorrei che inserendo il nome nel form lui cercasse dentro una cartella un file con il nome digitato e se esiste lo apra. Ho tentato di preparare una cosa tipo:

    <?

    if file_exists{
    include ($nomefile.htm);
    }; else {
    echo ('Errore');
    };

    ?>

    ma deve essere un vero schifo.... sapreste darmi una mano?

  2. #2
    Intanto se togli i puntievirgola dopo le graffe avrai qualcosa di più decente ... poi vedi se le cose che ti scrivo qua sotto ti possono essere utili:
    Pagina con il form
    Codice PHP:
    [...]
    <
    form method='post' action='apri.php'>
     <
    input type='text' name='pagina'>
     <
    input type='submit' value='Includi'>
    </
    form>
    [...] 
    Nel file apri.php
    Codice PHP:
    [...]<?
    if(!isset($_POST['pagina']))
     { echo 
    "Devi inserire il nome di una pagina da essere inclusa. [url='javascript:histroy.back()']Indietro[/url]";
     } else {
      if(
    file_exists($_POST['pagina']))
        include(
    $_POST['pagina']);
      else echo 
    "Mi spiace ma il file ".$_POST['pagina']." non esiste";
     }
    [...]
    Te l'ho scritto sul momento, ma spero ti sia utile. Adesso la testo e malchevada dopo la edito.


  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    82
    grazie 1000 ora va molto meglio

    xò come faccio a fargli cercare il file (con il nome digitato)in un altra cartella?

    devo modificare questo?

    if(file_exists($_POST['pagina']))
    include($_POST['pagina']);


    cosa devo aggiungere?

  4. #4
    Esatto bisogna aggiungere un piccolo particolare a quelle 2 righe:
    Codice PHP:
    [...]{
     
    $path="../pippo/".$_POST['pagina'];
     if(
    file_exists($file))
     include(
    $file);
    }[...] 
    ../ lo usi se devi tornare indietro di una directory. Se non devi fare questa procedura eliminalo.


  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    82
    quindi ora verrebbe così:

    Codice PHP:
    <? 
    if(!isset($_POST['pagina'])) 
     { echo 
    "Devi inserire il nome di una pagina da essere inclusa. [url='java script:histroy.back()']Indietro[/url]"
     } else { 
       
    $path="../pippo/".$_POST['pagina']; 
     if(
    file_exists($file)) 
     include(
    $file); 
    else echo 
    "Mi spiace ma il file ".$_POST['pagina']." non esiste";  

    ?>
    ma nn apre le pagine, cioè riconosce se le pagine esistono o no, se non esistono dice mi spiace ma il file.. ecc. se invece la trova non la visualizza, apre il link "apri.php" e non si visualizza niente

  6. #6
    Dipende da cosa c'è scritto nella pagina che includi: l'include non fa altro che inserire tutto ciò che c'è scritto dentro al tuo file al posto di include. Mi spiego meglio:
    pagina.php
    Codice PHP:
    <?
      
    echo "
    Ciao
    "
    ;
      
    $i=10;
    ?>
    pagina2.php
    Codice PHP:
    <?
      $i
    =0;
      echo 
    "i= ".$i;
    //includo il file
      
    include("pagina.php");
    //fine file incluso
      
    echo "i= ".$i;
    ?>
    Quello che il server compilerà sarà l'unione dei 2 file:
    Codice PHP:
    <?
      $i
    =0;
      echo 
    "i= ".$i;
    //includo il file
      
    echo "
    Ciao
    "
    ;
      
    $i=10;
    //fine file incluso
      
    echo "i= ".$i;
    ?>
    E di conseguenza la tua pagina si presenterà così
    codice:
    i= 0
    Ciao
    i=10;
    Forse mi sono dilungato troppo, ma spero di averti fatto capire bene.



    C'è anche da dire che devi testare ed includere $path e non $file... ho errato io

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    82
    grazie per le spiegazioni, ora ci capisco di +.. quindi il codice esatto ora sarebbe questo:

    Codice PHP:
    <?  
    if(!isset($_POST['pagina']))  
     { echo 
    "Devi inserire il nome di una pagina da essere inclusa. [url='java script:histroy.back()']Indietro[/url]";  
     } else {  
       
    $path="../pippo/".$_POST['pagina'];  
     if(
    file_exists($path))  
     include(
    $path);  
    else echo 
    "Mi spiace ma il file ".$_POST['pagina']." non esiste";   
    }  
    ?>
    il problema e che ancora non mi apre la pagina non è che c'è qualcosa di sbagliato in questa riga?

    Codice PHP:
    $path="../pippo/".$_POST['pagina']; 
    forse le (") o i (.)

  8. #8
    Non so proprio che dirti... a me funziona benissimo;

    prova a modificare così:
    Codice PHP:
     if(file_exists($path))  
     { echo 
    "Il file esiste:
    "
    ;
       include(
    $path); } 
    Se la scritta compare vuole poter dire che il tuo file da includere o è vuoto o non fa azioni che si possano riscontrare ad occhio nudo; Se la scritta non appare allora o
    • la directory non esiste;
    • l'hai scritta in modo sbagliato (caratteri minuscoli/maiuscoli)
    • stesse sopra ma per il file incluso
    • :master:

    Altrimenti non so proprio cosa dirti. Prova a postare l'intero codice di entrambe le pagine e scrivi come sono disposte le varie directory rispetto alla root /


  9. #9
    leggi il regolamento e la prossima volta apri con un titolo a norma

    grazie
    :ciauz

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    82
    guarda mi viene fuori questo:

    Parse error: parse error, unexpected $ in /membri2/prova/action.php on line 9

    una cosa, ma

    $path="../pippo/".$_POST['pagina'];

    va bene anche se la pag è .htm?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.