Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Come indicare correttamente un indirizzo locale in una variabile per i collegamenti.

    Ciao a tutti, sto cercando di fare il mio sito sul mio pc, quindi in locale, e poi metterlo online una volta finito.
    Ho un file che ho chiamato server.php dove ci sono tutte le funzioni, e in questo ho inizializzato una variabile in questo modo:

    $home = "C:\\xampp\htdocs\nomedelmiosito.it";

    In modo da usare la variabile $home come radice base nel momento in cui creo i link nel mio sito. Usando href o funzioni header, insomma per di più per creare dei semplici link che riportano ad altre pagine, in modo da non fare confusione.

    Il problema è che quando vado a cliccare sul link di un collegamento, che porta alla index ad esempio, il link viene visto in questo modo: file:///C:/xampp/htdocs/nomedelmiosito.it/index.php

    Quindi non va alla index, in realtà resta fermo lì anche cliccando, ma come mai???

  2. #2
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314
    Ciao,
    Penso che il problema sia legato al fatto che il percorso sul tuo sito dovrebbe puntare a qualcosa tipo http://localhost quello che hai scritto assomiglia di più alla DOCUMENT ROOT del sito.

    Quindi penso che in locale ti possa essere utile definire una costante del tipo

    Codice PHP:
    define(PA,'http://localhost/'); 
    e poi negli href la richiami come:
    codice:
    <a href='<?php echo PA.'pagina.php';?>'>
    una volta online cambi il codice della costante in base al tuo sito

    Non so se è la soluzione migliore ma è quello che ho usato io..

  3. #3
    e un include e un header come dovrei impostarlo? sempre così?


    esempi:


    Codice PHP:
    define(HOME,'http://localhost/');

    HOME "/funzioni/tools.php";

    header("Location: " HOME "/index.php"); 

  4. #4
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314
    Originariamente inviato da jonathanphp
    e un include e un header come dovrei impostarlo? sempre così?


    esempi:


    Codice PHP:
    define(HOME,'http://localhost/');

    HOME "/funzioni/tools.php";

    header("Location: " HOME "/index.php"); 
    si più o meno.

    Come l'hai scritto tu però darebbe errore in entrambi i casi

    Il primo

    Codice PHP:
    HOME "/funzioni/tools.php"
    Darebbe errore per due motivi: A) Se lo scrivi così senza nulla prima, non lo assegni a nessuna variabile quindi non te lo immagazzina da nessuna parte quindi dovresti mettere per esempio:

    Codice PHP:
    $tools HOME "/funzioni/tools.php"
    B) Dovresti togliere uno / perchè altrimenti il percorso che lui interpreta è
    Codice PHP:
    http://localhost//funzioni/tools.php 
    con il doppio // dopo localhost e potrebbe darti problemi.

    Il Secondo

    Codice PHP:
     header("Location: " HOME "/index.php"); 
    Se per HOME intendi quello nel define varrebbe lo stesso discorso del punto B; se invece intendi quello scritto da te lui lo interpreterebbe come

    Codice PHP:
    header("Location: "http://localhost//funzioni/tools.php/index.php"); 
    e da quanto so non è corretto.

  5. #5
    scusami tanto... ma ho sbagliato a fare copia e incolla, quello in realtà era un:

    Codice PHP:
    define(HOME,'http://localhost/'); 

    include 
    HOME "/funzioni/tools.php"

    header("Location: " HOME "/index.php"); 
    e scrivendo il codice in questo modo ho dovuto modificare allow_url_include = Off in php.ini in allow_url_include = On

    per ora mi da solo questo errore:

    Notice: Use of undefined constant HOME - assumed 'HOME' in C:\xampp\htdocs\nomedelmiosito.it\server.php on line 14

    dove line 14 sarebbe appunto

    Codice PHP:
    define(HOME,'http://localhost/nomedelmiosito.it'); 

  6. #6
    ok... ho messo HOME tra gli apici in questo modo:

    Codice PHP:
    define('HOME','http://localhost/nomedelmiosito.it'); 

    ora il problema sono gli include, non mi trova la funzione come se non lo prende:

    Codice PHP:
    include HOME "/funzioni/tools.php"
    sintassi sbagliata?



    Errore:
    Fatal error: Call to undefined function testnick() in C:\xampp\htdocs\nomedelmiosito.it\server.php on line 64

  7. #7
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314
    Io non avevo mai messo gli apici comunque ho provato e funziona in entrambi i modi.

    Per quanto riguarda il
    Fatal error: Call to undefined function testnick() in C:\xampp\htdocs\nomedelmiosito.it\server.php on line 64
    La sintassi è corretta i problemi potrebbero essere due:

    La prima (penso meno probabile) che non esista la funzione testnick in quel file.

    La seconda potrebbe essere che punta ad una posizione sbagliata. mi spiego (o meglio cerco di farlo)

    Mettiamo che il tuo sito nel file di PHP e di apache (se usi quest'ultimo come server) sia in C:\xampp\htdocs\nomedelmiosito.it\

    C:\xampp\htdocs\nomedelmiosito.it\ = localhost.

    La mia domanda è: la cartella funzioni con dentro il file tools.php è nella cartella principale (C:\xampp\htdocs\nomedelmiosito.it\) o, come hai scritto è in localhost/nomedelmiosito.it (quindi in C:\xampp\htdocs\nomedelmiosito.it\nomedelmiosito.i t) ??

    Dovresti vedere quale è la root del tuo sito secondo le impostazioni di XAMPP e vedere l'albero dei file di conseguenza

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.