Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Gestione variabili e sessioni tra Joomla e php puro

    Ciao ragazzi,
    volevo sapere se e come è possibile gestire delle variabili tra pagine Joomla e pagine in php puro che fanno parte del mio sito.

    Mi spiego:
    nel mio sito, fatto in Joomla, una volta fatto il login entro nella parte riservata, da quì posso aprire delle pagine esterne(che in Joomla mi è impossibile fare xkè sono pagine un pò particolari).
    Ora queste pagine devono essere gestite da diversi utenti, con diversi privilegi.
    Io come faccio a passarmi l'id dell'utente a queste pagine Joomla e riportarle in quelle fatte da me in php puro?
    Ho provato con la gestione delle sessioni di Joomla ma niente, e anche con la gestione classica di php (session_start() non ho risolto nulla.....

    Non so più che pesci pigliare

    Avete qualche consiglio?!
    Ciao ciao...

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Premettendo che non sono un estimatore dei CMS, non capisco questa tua distinzione pagine joomla e pagine php dato che joomla è scritto in php (con una sua logica) ma se non riesci a farli dialogare la risposta è semplice non usare joomla o non scrivere in php.
    Joomla è sviluppato prevalentemente per chi non programma e vuole farsi un sito "standard" se uno ha esigenze particolari meglio non usare CMS ma sviluppare ( o farsi fare ) un sito a doc. Solo chi ha una ottima conoscenza (sviluppatore) del CMS usato può interagire/modificare pagine o script.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Il framework di Joomla di default non ti permette di usare PHP standard, ma ci sono dei plugin che ti permettono di farlo, per esempio c'è Jumi, poi ce n'era anche un altro che mi sembrava migliore, ma non ricordo il nome, prova a fare una ricerca.

    In pratica crei dei nuovi documenti e invece di testo ci metti il codice PHP che ti serve.
    Fa attenzione solo a cambiare l'editor di testi per l'utente che usi tu, devi mettere "nessun editor" altrimenti se usi "tinyMCE" o altri ti ritrovi con del codice HTML che non c'entra niente.

  4. #4
    Era proprio quello che temevo....

    Qualche suggerimento per aggirare il problema, senza fare uso di plugin, o programmare tutto in php, o programmare tutto con il CMS?

    Ciao ciao...

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    In realtà si, tempo fa ci riuscii sulla versione 1.5, ma non so se ho ancora quei file per rivedere come feci, magari do un'occhiata, ma non so se sulle nuove versioni possa funzionare, non ci ho provato.

    Comunque se vuoi scrivere rispettando il framework, ovviamente devi capire come funziona e dove vanno messe le varie parti per costruire un modulo o un componente.
    Non è una cosa difficilissima, ma ti ci devi mettere un po' leggendo la documentazione ufficiale, Joomla ha anche un wiki con dei tutorial su come crere moduli e componenti.

    Se decidi di creare un componente per Joomla, tieni a mente questo sito, ti genera tutta la struttura e il codice standard risparmiandoti un sacco di tempo
    http://www.component-creator.com/en/

  6. #6
    Mi serviva una cosa un pò più artigianale e sbrigativa, qualcosa da poche righe di codice, perchè non ho molto tempo a disposizione...

    Comunque grazie mille della vostra disponibilità, siete stati gentilissimi....

    Ciao ciao...

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Ho ritrovato i file.

    Per avere accesso al framework e quindi alle variabili che usa Joomla ho fatto così
    Codice PHP:
    define'_JEXEC');
    define('JPATH_BASE'dirname(__FILE__) );
    define'DS'DIRECTORY_SEPARATOR );
    require_once ( 
    JPATH_BASE .DS.'includes'.DS.'defines.php' );
    require_once ( 
    JPATH_BASE .DS.'includes'.DS.'framework.php' );

    $mainframe =& JFactory::getApplication('site');

    //questo per prendere gli eventuali dati dell'utente se è loggato
    $user =& JFactory::getUser();

    //con cui puoi fare per esempio così
    if($user->username == "") die ("Accesso consentito solo dopo aver effettuato il login");

    //questo per avere la connessione al db, se devi fare query specifica $db in mysql_query()
    $connection = new connection();
    $db $connection->connect(); 
    La classe connection è semplicemente così
    Codice PHP:
    class connection {
        private 
    $host;
        private 
    $db_user;
        private 
    $pass;
        private 
    $database;

        public  function 
    __construct() {
            
    $this->host "localhost";
            
    $this->db_user "username";
            
    $this->pass "password";
            
    $this->database "nome_database";
        }
        
        public function 
    connect()
        {
            
    $db mysql_connect($this->host,$this->db_user,$this->pass) or die ("Impossibile connettersi al server $this->host");
            
    mysql_select_db($this->database,$db) or die ("Impossibile accedere al database $this->database");
            
            return 
    $db;
        }


  8. #8
    Alhazred grazie dell'aiuto, ma non mi produce nulla

    Forse sbaglio io a inserirli sulla o nelle pagine....non so!

    Tu hai creato file particolare x quel codice?!
    Ciao ciao...

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    QUesto codice ovviamente non ti fa vedere niente a video perché non c'è alcun output, ti spega solo come fare a collegarti ed usare il framework.
    Il codice completo che usavo io in quella pagina verificava se c'era un utente loggato, se era un admin o un utente normale e reindirizzava alla pagina relativa. creata comunque con php classico.
    Tanto per dire, il controllo se fosse un admin lo facevo così
    Codice PHP:
    //verifico se a collegarsi è stato l'amministratore
    $query "SELECT * FROM bdt_admin WHERE admin_name='$user->username'";
    $dbresult mysql_query($query,$db);
    $AffectedRows mysql_affected_rows($db);
    if(
    $AffectedRows 0) {
        
    mysql_free_result($dbresult);
        
    mysql_close($db);
        
    $trovato true;
        
    header("location: /prestazioni/admin/admin.php?username=$user->username");

    e la pagina dell'admin era questa:
    Codice PHP:
    <?php
        session_start
    ();
        if(!isset(
    $_SESSION['ingresso'])){
            
    $_SESSION['ingresso']= true;
        }
        if(
    $_REQUEST['username'] == "") die ("Accesso consentito solo dopo aver effettuato il login");
        
    $_SESSION['admin'] = $_REQUEST['username'];
        
    define'DS'DIRECTORY_SEPARATOR );
        require(
    "..".DS."connection.php");
    ?>
    <link rel="stylesheet" type="text/css" href="../css/prestazioni.css"/>
    <?php
    $connection 
    = new connection();

    $db mysql_connect($connection->getHost(),$connection->getDbUser(),$connection->getPass())
        or die (
    "Impossibile connettersi al server ".$connection->getHost());

    mysql_select_db($connection->getDatabase(),$db)
        or die (
    "Impossibile accedere al database ".$connection->getDatabase());
    ?>
    <table width="100%" border="0">
        <tr>
            <td align="right" width="33%">
                [url="gestione_medici.php?ordine=cognome"][img]../img/btn_gestmed.png[/img][/url]
            </td>
            <td align="center" width="34%">
                [url="gestione_pazienti.php?ordine=cognome"][img]../img/btn_gestpaz.png[/img][/url]
            </td>
            <td  align="left" width="33%">
                [url="gestione_prestazioni.php?ordine=data"][img]../img/btn_gestprest.png[/img][/url]
            </td>
        </tr>
    </table>
    I link anlle pagine del sistema erano impostate su Joomla come "Wrapper" così attorno ci veniva messa la grafica del sito.
    Per questo motivo nelle pagine non devi ripetere i tag html <html> <header> <body> perché ci saranno già quelli del template in uso.

    Come ti ripeto però funzionava su Joomla 1.5, sulle versioni nuove non l'ho provato.

  10. #10
    Caro il mio Alhazred,
    grazie del suggerimento ma credo che nella versione 2.5 questo codice non funzioni... (proprio come immaginavo anch'io)..

    Comunque, mi è venuta un'idea:
    ho provato a forzare il codice inserendo nel bottone il metodo get:

    se il mio link mi deve puntare alla pagina:
    http://www.miosito.it/miacartella/miapagina.php

    lo vorrei quindi metterci il passaggio di variabile in questo modo:
    http://www.miosito.it/miacartella/miapagina.php?id=826
    dove 826 è l'id dell'utente loggato e dovrà ovviamente cambiare per ogni utente che si logga.

    In Joomla è possibile fare questo in qualche modo?
    Ciao ciao...

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.