Ancora pagina integrata in layout + invio variabili

Ciao

Mi sono ancora ritrovato in una situazione simile a questa esposta in un mio vecchio topic:

http://www.phpnews.it/forum/index.php?topic=3583.0

La faccenda però adesso sembra piu' complicata.

Sto integrando al mio sito un servizio di news.

Nella pagina principale ci sono i link (non tutti) che riportano alla notizia selezionata la quale si apre in un'altra pagina che è comunque integrata nello stesso layout.

Questa volta sembra che non possa utilizzare la stessa soluzione suggerita da gianni nel post di cui sopra

in quanto adesso devo non solo indicare il link della nuova pagina ma anche inviare  le variabile ad un'altra che è integrata (tramite include) alla nuova pagina.

La parte di codice interessata che si trova nella home e che rinvia alla news dovrebbe essere solo questa:

/* Display link to show comments & news if enabled */
    if ($maintext != '' && $Settings['showcominnews'] == 1 && $Settings['enablecomments'] == 1)
    {
      $maintext = '<a href="phpnews/news.php?action=fullnews&amp;showcomments=1&amp;id=' . $news['id'] . '"onclick="window.opener.location.href=this.href;return false">' . $language['CONTENT_NEWSFULLSTORY'] . '</a>';
    }
    else if ($maintext != '')
    {
      $maintext = '<a href="' . $_SERVER['PHP_SELF'] . '?action=fullnews&amp;id=' . $news['id'] . '">' . $language['CONTENT_NEWSFULLSTORY'] . '</a>';
    }
    else
    {
      $maintext = '';
    }

Forse la soluzione è in questa parte:

'"onclick="window.opener.location.href=this.href;return false">'

ma ho provato a inserire il link della pagina (notizie.php) che ha incluso news.php

e non va, mi ritrovo con la pagina news aperta a pieno schermo.

Potete aiutarmi?

Grazie e buone feste.

inviato 7 anni fa
frankphp
modificato 7 anni fa
X 0 X

Aiuto, non riesco a venirne a capo.

Ciao

risposto 7 anni fa
frankphp
X 0 X

devi mettere tutti i parametri da passare alla seconda pagina (anche quelli per lo script che includi) nell'URL dei link sulla prima pagina

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

devi mettere tutti i parametri da passare alla seconda pagina (anche quelli per lo script che includi) nell'URL dei link sulla prima pagina

 :bye:

la pagina in cui è incluso lo script sopra (news.php) si chiama notizie.php.

Quindi dovrei passare le variabili a notizie.php.

Questa parte di codice crea il link che invia pure le variabili:

  $maintext = '<a href="' . $_SERVER['PHP_SELF'] . '?action=fullnews&amp;id=' . $news['id'] . '">' . $language['CONTENT_NEWSFULLSTORY'] . '</a>';

Come e cosa devo modificare esattamente?

Ci ho provato ma ottengo sempre messaggi di errore.

risposto 7 anni fa
frankphp
X 0 X

Come puoi vedere nel codice che mi hai riportato, nel link viene inserito il parametro "id" avvalorato con $news['id']. Dovresti accodare a questo parametro tutti gli altri parametri che vuoi passare agli script seguenti.

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

Come puoi vedere nel codice che mi hai riportato, nel link viene inserito il parametro "id" avvalorato con $news['id']. Dovresti accodare a questo parametro tutti gli altri parametri che vuoi passare agli script seguenti.

 :bye:

Scusami la riga è questa:

$maintext = '<a href="phpnews/news.php?action=fullnews&amp;showcomments=1&amp;id=' . $news['id'] . '"onclick="window.opener.location.href=this.href;return false">' . $language['CONTENT_NEWSFULLSTORY'] . '</a>';

Comunque è solo quello .

Poi c'è il richiamo della funzione nella pagina news.php.

Quindi cosa devo fare?

Grazie

risposto 7 anni fa
frankphp
X 0 X

Te l'ho già detto cosa devi fare, devi accodare ulteriori parametri nell'url, esattamente come hai già fatto per il parametro "id"

$maintext = '<a href="phpnews/news.php?action=fullnews&amp;showcomments=1&amp;id=' . $news['id'] . '&amp;nuovo_parametro=' . $news['nuovo_parametro'] . ......

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

Te l'ho già detto cosa devi fare, devi accodare ulteriori parametri nell'url, esattamente come hai già fatto per il parametro "id"

$maintext = '<a href="phpnews/news.php?action=fullnews&amp;showcomments=1&amp;id=' . $news['id'] . '&amp;nuovo_parametro=' . $news['nuovo_parametro'] . ......

 :bye:

Ho fatto così:

$maintext = '<a href="notizie.php?action=fullnews&amp;showcomments=1&amp;id=' . $news['id'] . '"onclick="window.opener.location.href=this.href;return false">' . $language['CONTENT_NEWSFULLSTORY'] . '</a>';

e funziona.

Dicevi così?

Non mi è chiaro  completamente questo codice però.

Cosa fa esattamente

action=fullnews&amp;showcomments=1&amp;id=' . $news['id'] .

action=fullnews, chiama la funzione

ma perchè &amp;

I ricordo di aver usato una cosa del genere per un mio progetto precedente (dove mi hai aiutato moltissimo O0):

fatt1.php?task=delete&id=$id

richiamavo la funzione e passavo pure la variabile.

Quello di sopra mi è poco chiaro.

Potresti spiegarmelo.

Grazie ancora per il tuo prezioso aiuto (come farei senza ;)) e buone feste!

risposto 7 anni fa
frankphp
X 0 X

Per separare i parametri nell'URL si usa il carattere &. In una pagina HTML però il carattere & deve essere codificato in &amp; altrimenti i validatori HTML segnalano il problema.

Comunque i browser sono molto clementi e quindi il problema non si pone.

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

Per separare i parametri nell'URL si usa il carattere &. In una pagina HTML però il carattere & deve essere codificato in &amp; altrimenti i validatori HTML segnalano il problema.

Comunque i browser sono molto clementi e quindi il problema non si pone.

 :bye:

Ok per &amp, grazie

ma per:

fullnews&amp;showcomments=1&amp;id=' . $news['id']

id= si riferisce alla variabile $news['id']

ma si possono richiamare 2 funzioni insieme passando lo stesso valore (1??)?

fullnews&amp;showcomments=1

il punto e virgola poi separa i diversi invii.

Scusami, ma ne approfitto per ripassare e imparare qualcosa.

Come ti sarai accorto mi faccio sentire dopo lunghi intervalli, ciò significa che nel frattempo non ho proprio messo mano a nessun lavoro in  php e purtroppo dimentico quasi tutto.

E' solo un hobby per me.

Grazie

risposto 7 anni fa
frankphp
X 0 X

Se consideriamo questo URL:

notizie.php?action=fullnews&amp;showcomments=1&amp;id=' . $news['id']

possiamo dire che:

1) lo script richiamato sarà notizie.php

2) i parametri ad esso passati sono:

   - "action" che vale "fullnews"

   - "showcomments" che vale "1"

   - "id" che vale quanto la variabile $news['id']

Quindi l'accodamento di diverse coppie "chiave" => "valore" avviene con "&amp;"

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

ok grazie. Auguri di buon anno

risposto 7 anni fa
frankphp
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda