Back to top

Autore Topic: id e username da wrapper a pagina php - RISOLTO !!!!  (Letto 8786 volte)

Offline maraggos

  • Appassionato
  • ***
  • Post: 307
  • Sesso: Maschio
    • Mostra profilo
Ciao a tutti,
anch'io mi sono scontrato con la necessità di conoscere userid e username in una pagina wrappata. Dopo lunghe ricerche e frustrazioni, ho trovato la ricetta giusta, che mi affretto a condividere con voi, che tanto mi avete aiutato nel mio cammino di neo joomlista:

1) andate nella pagina wrapper.php e aggiungete, IMMEDIATAMENTE dopo il tag <?php la riga:

session_start();

2) poi andate alla dichiarazione $url = $params->def( 'url', '' );
e aggiungete le righe:

// declare globals
global $my;



3) trovate le righe
} else {
  $row->url = $url;
  }

e aggiungete subito sotto:
   
 if ($my->username <> '') { $row->url = $row->url.'?user='.$my->username.'&id='.$my->id; }

a questo punto, quando il wrapper chiamerà la vostra pagina php, si trascinerà dietro, nell'indirizzo, anche le variabili username e id.

Per leggerle, aggiungete, IMMEDIATAMENTE ALL'INIZIO della vostra pagina php le righe:


<?php
session_start();
$utente = $_GET['user'];
$id = $_GET['id'];
session_destroy();
?>


... et voilà ! Il gioco è fatto. Se poi volete tramandare avanti le informazioni a successive pagine, lo fate con le usuali tecniche $_GET e $_POST dei FORM

Buon wrapping a tutti !
Alberto

Offline dulce pedraza

  • Esploratore
  • **
  • Post: 110
  • Sesso: Femmina
  • dp - dulce pedraza
    • Mostra profilo
Re: id e username da wrapper a pagina php - RISOLTO !!!!
« Risposta #1 il: 12 Lug 2007, 18:14:22 »
boh..
non mi funziona..
nel punto 3) ho trovato 2 volte il else e ho provato con tutti due... forse sto faccendo qualcosa di sbagliato..
guarda un po:

questo è il mio wrapper.php
Codice: [Seleziona]
<?php
session_start
();
**
* @
version $Idwrapper.php 2430 2006-02-17 02:31:15Z stingrey $
* @
package Joomla
* @subpackage Wrapper
* ...
*/

// no direct access
defined'_VALID_MOS' ) or die( 'Restricted access' );

/** load the html drawing class */
require_once( $mainframe->getPath'front_html' ) );

showWrap$option );

function 
showWrap$option ) {
global $database$Itemid$mainframe;

$menu = new mosMenu$database );
$menu->load$Itemid );
$params = new mosParameters$menu->params );
$params->def'back_button'$mainframe->getCfg'back_button' ) );
$params->def'scrolling''auto' );
$params->def'page_title''1' );
$params->def'pageclass_sfx''' );
$params->def'header'$menu->name );
$params->def'height''500' );
$params->def'height_auto''0' );
$params->def'width''100%' );
$params->def'add''1' );
$url $params->def'url''' );
// declare globals
global $my;

$row = new stdClass();
if ( $params->get'add' ) ) {
// adds 'http://' if none is set
if ( substr$url0) == '/' ) {
// relative url in component. use server http_host.
$row->url 'http://'$_SERVER['HTTP_HOST'] . $url;
} elseif ( !strstr$url'http' ) && !strstr$url'https' ) ) {
$row->url 'http://'$url;
} else {
$row->url $url;
}
} else {
$row->url $url;
 if ($my->username <> '') { $row->url $row->url.'?user='.$my->username.'&id='.$my->id; }
}
// auto height control
if ( $params->def'height_auto' ) ) {
$row->load 'onload="iFrameHeight()"';
} else {
$row->load '';
}

$mainframe->SetPageTitle($menu->name);

HTML_wrapper::displayWrap$row$params$menu );
}
?>

e questa è la mia pagina php che metto nel wrapper

Codice: [Seleziona]
<?php
session_start
();
$utente $_GET['user'];
$id $_GET['id']; 
?>

<html>
<head>
<title></title>
</head>
<body>

<? echo "salve ".$utente;
session_destroy();
?>
</body>
</html>

Offline maraggos

  • Appassionato
  • ***
  • Post: 307
  • Sesso: Maschio
    • Mostra profilo
Re: id e username da wrapper a pagina php - RISOLTO !!!!
« Risposta #2 il: 13 Lug 2007, 10:05:48 »
l'unica cosa che vedo è che il session_destroy va messo dove l'ho messo io... però non credo che cambi molto.

L'accrocchio ovviamente funziona SE c'è un utente registrato, se no non restituisce niente (infatti c'è la condizione if ($my->username <> '')

Tanto per seguire tutto il processo, hai provato anche a mettere un'echo dell'user nel wrapper.php ?

Offline dulce pedraza

  • Esploratore
  • **
  • Post: 110
  • Sesso: Femmina
  • dp - dulce pedraza
    • Mostra profilo
Re: id e username da wrapper a pagina php - RISOLTO !!!!
« Risposta #3 il: 13 Lug 2007, 11:25:05 »

Tanto per seguire tutto il processo, hai provato anche a mettere un'echo dell'user nel wrapper.php ?

ho provato si, anche un echo sul id ma non mi compare ma solo il "salve" ..

non centra niente se ho installato CB vero?? il login va propio con CB.. cosa dici?

Offline dulce pedraza

  • Esploratore
  • **
  • Post: 110
  • Sesso: Femmina
  • dp - dulce pedraza
    • Mostra profilo
Re: id e username da wrapper a pagina php - RISOLTO !!!!
« Risposta #4 il: 13 Lug 2007, 11:32:52 »

Tanto per seguire tutto il processo, hai provato anche a mettere un'echo dell'user nel wrapper.php ?

ho provato si, anche un echo sul id ma non mi compare ma solo il "salve" ..

scusami... un echo sul wrapper.php ??? non avevo capito ...no, questo non lo ho provato ma come potrei? come metto un echo per riuscire a vederlo?
vedi questa instruzione sul wrapper.php:
Codice: [Seleziona]
// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );


Offline dulce pedraza

  • Esploratore
  • **
  • Post: 110
  • Sesso: Femmina
  • dp - dulce pedraza
    • Mostra profilo
Re: id e username da wrapper a pagina php - RISOLTO !!!!
« Risposta #5 il: 13 Lug 2007, 11:38:35 »
RISOLTO!!!!!!!!!!

dovevo mettere la riga tua di codice dopo che chiude il "if-else"
ti faccio vedere

occhio. .la tua riga di codice viene dopo il commento: //passa parametro al fine php wrappato

Codice: [Seleziona]
<?php
session_start
();
/**
* @version $Id: wrapper.php 2430 2006-02-17 02:31:15Z stingrey $
* @package Joomla
* @subpackage Wrapper
*
*/

// no direct access
defined'_VALID_MOS' ) or die( 'Restricted access' );

/** load the html drawing class */
require_once( $mainframe->getPath'front_html' ) );

showWrap$option );

function 
showWrap$option ) {
global $database$Itemid$mainframe;

$menu = new mosMenu$database );
$menu->load$Itemid );
$params = new mosParameters$menu->params );
$params->def'back_button'$mainframe->getCfg'back_button' ) );
$params->def'scrolling''auto' );
$params->def'page_title''1' );
$params->def'pageclass_sfx''' );
$params->def'header'$menu->name );
$params->def'height''500' );
$params->def'height_auto''0' );
$params->def'width''100%' );
$params->def'add''1' );
$url $params->def'url''' );
// declare globals
global $my;

$row = new stdClass();
if ( $params->get'add' ) ) {
// adds 'http://' if none is set
if ( substr$url0) == '/' ) {
// relative url in component. use server http_host.
$row->url 'http://'$_SERVER['HTTP_HOST'] . $url;
} elseif ( !strstr$url'http' ) && !strstr$url'https' ) ) {
$row->url 'http://'$url;
} else {
$row->url $url;
}
} else {
$row->url $url;
}
//passa parametro al fine php wrappato
if ($my->username <> '') { $row->url $row->url.'?user='.$my->username.'&id='.$my->id; }

// auto height control
if ( $params->def'height_auto' ) ) {
$row->load 'onload="iFrameHeight()"';
} else {
$row->load '';
}

$mainframe->SetPageTitle($menu->name);

HTML_wrapper::displayWrap$row$params$menu );
}
?>

grazie infinite!!!!

Offline maraggos

  • Appassionato
  • ***
  • Post: 307
  • Sesso: Maschio
    • Mostra profilo
Re: id e username da wrapper a pagina php - RISOLTO !!!!
« Risposta #6 il: 13 Lug 2007, 12:55:31 »
 ;D :D :D

Offline rinino

  • Nuovo arrivato
  • *
  • Post: 48
  • Sesso: Maschio
    • Mostra profilo
Re: id e username da wrapper a pagina php - RISOLTO !!!!
« Risposta #7 il: 09 Ott 2007, 18:40:30 »
Ho trovato molto utile questo topic...
infatti dovevo passare dei dati al wrapper, ma a differenza di quanto scritto qui, li ho passati direttamente tramite sessione...altrimenti andavano in chiaro...

ora il problema è:
come cavolo si fa a distruggere sta benedetta sessione?
Questa cosa deve essere fatta da joomla, disconnettendosi, ma ovviamente non funziona!!!
Qualcuno ha qualche idea?

Grazie, gentilissimi!!!!!!

P.s.: volevo solo provare sta sciccheria!!!
...e con la forza di un fiume in piena, poi, caricammo e la terra sotto noi rimbombando tremava e gli alberi ondeggiavano nel vento...

Offline Dangerfield

  • Nuovo arrivato
  • *
  • Post: 27
  • Sesso: Maschio
    • Mostra profilo
Re: id e username da wrapper a pagina php - RISOLTO !!!!
« Risposta #8 il: 27 Feb 2009, 20:02:01 »
Io ho usato le indicazioni trovate su questo post:
http://forum.joomla.org/viewtopic.php?f=304&t=343435

Vengono rese disponibili molte più informazioni sulla sessione.
Funziona, ma solo se il wrapper è richiamato da una voce di menu.
Se invece il wrapper lo si usa come modulo, non è possibile  recuperare i parametri di sessione (con il metodo descritto almeno...)

Offline Dangerfield

  • Nuovo arrivato
  • *
  • Post: 27
  • Sesso: Maschio
    • Mostra profilo
Re: id e username da wrapper a pagina php - RISOLTO !!!!
« Risposta #9 il: 02 Mar 2009, 18:11:10 »
..implementando questa funzionalità mi accorgo di un problema:
Nel wrapper ho una form che subito dopo il post reindirizza l'utente a quella stessa form.
Il redirect sta dentro il gestore del post 'insert.php'.
Quando torno alla form, ho perso i dati relativi alla sessione!
Se faccio il refresh dal browser li recupero.. solo che è sgradevole.
Qualcuno ha idea di come fare per ovviare?

 



Web Design Bolzano Kreatif