[RISOLTO] problema admin con php versione 5

Domande a questioni che hanno già trovato una risposta su questo forum

Moderatore: mod Documentazione

Rispondi
csma-electronics
membro Junior
membro Junior
Messaggi: 49
Iscritto il: 30/01/2008, 20:41
Contatta:

[RISOLTO] problema admin con php versione 5

Messaggio da csma-electronics »

Ciao a tutti e buon anno innanzitutto...
l'hosting aruba è da poco passato alla versione 5 di php.

E' sorto un piccolo problemino.. :)
Nel pannello di admin, nella sezione Catalogo, quando apro il menù a tendina che mi permette di scegliere una categoria mi ritorna alla pagina del login....
Questo non succedeva con php4.

Cosa potrebbe essere secondo voi?

Grazie mille a tutti...
CSMA Electronics
www.csma-electronics.com
csma-electronics
membro Junior
membro Junior
Messaggi: 49
Iscritto il: 30/01/2008, 20:41
Contatta:

Re: problema admin con php versione 5

Messaggio da csma-electronics »

Sto indagando, visto che potrebbe essere un problema di sessioni, immagino...
Mi sono accorto che il problema avviene quando viene eseguita la submit del menu a tendina.

Quello che vedo è la creazione di un nuovo session id che non "matcha" con il precedente e di conseguenza fallisce questo test nel file admin/application_top.php

if (!tep_session_is_registered('admin')) {
$redirect = false;

$current_page = basename($PHP_SELF);

if ($current_page != FILENAME_LOGIN) {
if (!tep_session_is_registered('redirect_origin')) {
tep_session_register('redirect_origin');

$redirect_origin = array('page' => $current_page,
'get' => $HTTP_GET_VARS);
}

$redirect = true;
}

if ($redirect == true) {
tep_redirect(tep_href_link(FILENAME_LOGIN));
}

unset($redirect);
}


Spero possa aiutarvi a farmi capire il problema...io non sono espertissimo di sessioni / cookie....
Grazie.
CSMA Electronics
www.csma-electronics.com
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Re: problema admin con php versione 5

Messaggio da marcus »

csma-electronics ha scritto:Sto indagando, visto che potrebbe essere un problema di sessioni, immagino...
Mi sono accorto che il problema avviene quando viene eseguita la submit del menu a tendina.

Quello che vedo è la creazione di un nuovo session id che non "matcha" con il precedente e di conseguenza fallisce questo test nel file admin/application_top.php
La tua diagnosi è corretta.

E' un problema che ho rilevato anche nella versioni precedenti alle RC.

Dovrebbe potersi risolvere in questo modo.

Cerca nel file application_top.php lato admin, il codice:

Codice: Seleziona tutto

// lets start our session
tep_session_start();
e modifica con:

Codice: Seleziona tutto

if (isset($_GET[tep_session_name()])) {
	tep_session_id($_GET[tep_session_name()]);
}

// lets start our session
tep_session_start();
Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
csma-electronics
membro Junior
membro Junior
Messaggi: 49
Iscritto il: 30/01/2008, 20:41
Contatta:

Re: problema admin con php versione 5

Messaggio da csma-electronics »

Grazie Marcus,

ho provato la soluzione ma il problema non è risolto, purtroppo...
ho stampato i due valori

echo $_GET[tep_session_name()]."<br>";
echo tep_session_id($_GET[tep_session_name()]);

Sono identici ogni volta ma la cosa strana è che sono già diversi da quelli che avevo nel pannello di admin prima di fare il submit....
Mi spiego meglio:

Prima di fare il submit ho questo session id:
e9bo4fpjaivba4m5bfsb2mtbf4

Quando eseguo il submit ho questo session id:
1s8po6k8aqok511feivual1qn6

Di conseguenza stampa i due valori nuovi e diversi dal precedente:
1s8po6k8aqok511feivual1qn6
1s8po6k8aqok511feivual1qn6

Fammi sapere se hai qualche idea in merito.
Ti ringrazio anticipatamente.
CSMA Electronics
www.csma-electronics.com
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Re: problema admin con php versione 5

Messaggio da marcus »

csma-electronics ha scritto:Grazie Marcus,

ho provato la soluzione ma il problema non è risolto, purtroppo...
Mantenendo la modifica di cui sopra, modifica anche il file admin/categories.php come sotto.

Cerca il codice che fa il submit:

Codice: Seleziona tutto

<?php
    echo tep_draw_form('goto', FILENAME_CATEGORIES, '', 'get');
    echo HEADING_TITLE_GOTO . ' ' .  tep_draw_pull_down_menu('cPath', tep_get_category_tree(), $current_category_id, 'onChange="this.form.submit();"');
    echo tep_hide_session_id() . '</form>';
?>
e sostituiscilo con:

Codice: Seleziona tutto

<?php
    echo tep_draw_form('goto', FILENAME_CATEGORIES, '', 'get');
    echo HEADING_TITLE_GOTO . ' ' .  tep_draw_hidden_field(tep_session_name(), tep_session_id()) . tep_draw_pull_down_menu('cPath', tep_get_category_tree(), $current_category_id, 'onChange="this.form.submit();"');
    echo '</form>';
?>
La modifica forza il session id come parametro get nell'url.

Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
csma-electronics
membro Junior
membro Junior
Messaggi: 49
Iscritto il: 30/01/2008, 20:41
Contatta:

Re: problema admin con php versione 5

Messaggio da csma-electronics »

Sei un grande Marcus,

adesso funziona perfettamente.
Ho integrato il codice che mi hai consigliato anche nel form "cerca" che aveva lo stesso problema.

Di conseguenza ho modificato la sezione:

Codice: Seleziona tutto

<?php
    echo tep_draw_form('search', FILENAME_CATEGORIES, '', 'get');
    echo HEADING_TITLE_SEARCH . ' ' . tep_draw_input_field('search');
    echo '</form>';
?>
con questa:

Codice: Seleziona tutto

<?php
    echo tep_draw_form('search', FILENAME_CATEGORIES, '', 'get');
    echo HEADING_TITLE_SEARCH . ' ' . tep_draw_hidden_field(tep_session_name(), tep_session_id()) . tep_draw_input_field('search');
    echo '</form>';
?>
Grazie mille.
CSMA Electronics
www.csma-electronics.com
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Re: problema admin con php versione 5

Messaggio da marcus »

Bene allora mettiamo un bel ..RISOLTO nel titolo visto che siamo sul forum dei problemi risolti :wink:

Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
Rispondi