Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267

    php + mysql + funzioni...ma le variabili??

    succede una cosa strana...io definisco le variabili di accesso mysql(user,pass,host) in alto nella pagina php e in questa pagina php raccolgo le funzioni di modifica del database.in seguito includo la pagina in un altra per richiamare le funzioni che mi servono.

    codice:
    //IP del server
    
    $db_host="xxx.xxx.xxx.xxx";
    
    
    //Nome del Database
    $db_name="";
    
    
    //username del Database
    $db_user="SqlXXXXX";
    
    
    //pass del Database
    $db_pass="XXXXXXXX";
    e poi ho sotto tutt ele funzioni.

    per esmepio...
    codice:
    Function add_topic($forum_id,$topic_title,$topic_poster){
    $db = mysql_connect($db_host,$db_user,$db_pass) or die ( mysql_error());
    mysql_select_db('Sql80795_1',$db) or die ( mysql_error());
    
    [...]
    in questo modo se richiamo
    [code]
    add_topic($forum_id,$topic_title,$topic_poster)
    [/quote]
    in un altra pagina (dove chiaramente ho fatto l'include dell'altra) non si collega e mi dice:
    Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
    se invece dopo la dichiarazione della funzione aggiungo le variabili cosi:

    codice:
    Function add_topic($forum_id,$topic_title,$topic_poster){
    //IP del server
    
    $db_host="xxx.xxx.xxx.xxx";
    
    
    //Nome del Database
    $db_name="";
    
    
    //username del Database
    $db_user="SqlXXXXX";
    
    
    //pass del Database
    $db_pass="XXXXXXXX";
    $db = mysql_connect($db_host,$db_user,$db_pass) or die ( mysql_error());
    mysql_select_db('Sql80795_1',$db) or die ( mysql_error());
    funziona tutto,ma diventa molto poco comodo se devo editarlo in seguito,e non è una soluzione decente.... come posso fare per dichiararle in modo che vadano bene anche dentro tutte le functions?
    (ps: ho gia provatoa dichiararle globali: non funziona.)

    any idea?

  2. #2
    o che nelle funzioni gli dici di andare e prendere le variabili (global $db_host oppure potresti definirle come costanti e così son disponibili ovunque (define('DB_HOST', 'localhost')

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267
    per esempio per un ip come 123.123.123.123

    andrebbe bene

    define($dbhost,'123.123.123.123');


    è la sintassi corretta?
    grazie

  4. #4
    no, non é la sintassi corretta: http://www.php.net/manual/it/function.define.php

    (la documentazione non l'hanno scritta perché non sapevano più cosa fare ...)

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267
    ok grazie, mi chiedevo solo come mai non aveva la $ anche se non era variabile.

    un altra cosa.conviene usare le costanti inserendole nella testata della pagina principale (che include le altre) oppure usare un sistema più sicuro?
    (per proteggere tali dati intendo)

    anticipatamente grazie

  6. #6
    solitamente si fa un file che contiene tutte queste costanti (config.inc.php per esempio), e poi includi il file la dove ti serve.

    Non c'è bisogno di proteggere questi dati visto che sono accessibili solo via PHP.

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.