Aiuto! Aprire una nuova finestra "parametrizzata"

  • Creatore Discussione Creatore Discussione cimice
  • Data di inizio Data di inizio

cimice

Nuovo Utente
6 Gen 2006
14
0
0
Italia
Ciao a tutti. :byebye:
Ho un problema con il codice in un mio programma in PHP. Siccome non sono molto esperta mi sono fatta aiutare per la stesura completa del codice.

Vorrei poter aprire una finestra cliccando su un link, eliminando eventuali pulsanti e definendone la dimensione.
Per fare ciò chiamo una funzione javascript all'interno del PHP.

Praticamente stò passando ad un'altra pagina l'indice relativo al link e vorrei poter definire le caratteristiche della nuova finestra (pulsanti, dimensione, etc.).

Riporto di seguito il codice.


Codice:
echo "<a href=\"cucine3.php?id=$array[incremento]\" onClick=\"window.open('cucine3.php?id=$array[incremento]', 'nome_finestra', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=300,height=200') \"> <img src=$immagine></a>";


Praticamente viene eseguita soltanto la parte che fa riferimento ad A HREF mentre la parte relativa alla funzione window.open viene completamente ignorata. :incazz2:
Grazie.

Ale
 
prova cosi

echo "<a href=javascript:void(0);" onClick=\"window.open('cucine3.php?id=$array[incremento]', 'nome_finestra', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=300,height=200') \"> <img src=$immagine></a>";

in sostanza se imposti un link in href ed un comando js in onclick, href ha la precedenza, inizializza il processo ipertestuale e onclick va a farsi benedire :p

ciao!
 
Ciao Luca.
Ho provato ad usare il tuo codice ma ho un errore:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in Z:\SHARE\FTP\www\cucine_classiche.php on line 195


La linea 195 é esattamente il codice che mi hai segnalato tu.
Non ho idea di come procedere... :confused:
Grazie.

Alex
 
Ho risolto il problema dell'errore togliendo le seconde ", quelle al termine di javascript:void(0).
Il codice ora é così.


Codice:
echo "<a href=javascript:void(0); onClick=\"window.open('cucine3.php?id=$array[incremento]', 'nome_finestra', 'toolbar=0,scrollbars=0,location=0,statusbar=0,men ubar=0,resizable=0,width=300,height=200') \"> <img src=$immagine></a>";

In questo modo mi apre una nuova finestra, con javascript:void(0) al posto della url, e non gli passo il parametro relativo al link... :(
Sigh... sigh...
 
try again :)

echo "<a href=\"javascript:void(0);\" onclick=\"window.open('cucine3.php?id=" . $array[incremento] . "', 'nome_finestra', 'toolbar=0,scrollbars=0,location=0,statusbar=0,men ubar=0,resizable=0,width=300,height=200') \"><img src=" . $immagine . "></a>";
 
Ciao Luca.
Ho provato anche questo nuovo codice, ma non funziona.

Quando eseguo la pagina mi da il seguente errore:

Notice: Use of undefined constant incremento - assumed 'incremento' in Z:\SHARE\FTP\www\cucine_classiche.php on line 195


La riga 195 é sempre quella che hai modificato tu...

Cliccando sull'elenco mi apre comunque una nuova pagina, di dimensioni standard (come al solito ignora onclick) , ed al posto dell'url mi scrive: javascript:void(0);\onclick=

:(
 
fai una cosa: non stampare il link con echo o print e scrivilo in html

// codice php
?>
<a href="havascript:window.open('file.php?param=$valore')">ecc...</a>
<?
// codice php

mi spiego? fammi sapere!
 
Ciao Luca.
A dire il vero ho un pò le idee confuse... :crying:

Come faccio ad uscire dal codice PHP mentre stò facendo un'accesso al DB e poi continuare a leggere da quel punto?

Ora ti riporto parte del codice (ci sono delle IF che tralascio, usate per dei controlli su alcuni contatori)

Codice:
$dati=mysql_query("select * from cucine where esclusione<>'si'");
while ($array=mysql_fetch_array($dati))
{
$immagine = "img4/resize/$array[img1]";

E POI DOVREI INSERIRE IL TUO CODICE
<a href="havascript:window.open('file.php?param=$valo re')">ecc...</a>

Grazie ancora. :byebye:

Ale
 
Ciao Ale, ti faccio un esempio diu come uscire dal codice PHP

<?
$a = 0;
if (a == 0) {
?>
a vale 0
<?
}
?>

Mi spiego? con lo stesso criterio dovresti stampare il codice del link a videoin HTML puro, non attraverso una stampa a video in PHP.

Fammi sapere ;)
 
Ciao Luca.
Per prima cosa devo ringraziarti per la tua disponibilità... :love:

Ora torniamo al problema.

Ho fatto come mi hai detto ed ho dei sensibili miglioramenti.

Riporto il codice che ho usato:

Codice:
?>
<a href="javascript:window.open('cucine3.php?id=$array[incremento]', 'PROVA', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=300,height=200')"> 
<img src=$immagine>
</a>"
<?

Questo funziona ma... ecco succede ora... mi apre un'altra finestra e, poi, subito dopo mi apre una seconda finestra (della dimensione che ho specificato con width e height). Quindi apro una finestra di troppo!! :incazz2:

Ho anche un'altro problema!
Quando viene effettuato il ciclo di lettura dal DB ed esco dal PHP per eseguire il codice javascript, non so come visualizzare il valore contenuto nella variale PHP.
Mi spiego. Quando cerco di visualizzare l'immagine descritta nella variabile "$immagine" non trova niente e, quindi, non mi visualizza niente (o meglio, visualizza un'immagine mancante, perché lui non sa cosa stà leggendo!).

Lo stesso problema vale per il parametro "id=$array[incremento]" che io stò passando alla nuova finestra che viene aperta... non sa a cosa stò puntando...
Un bacione.

Ale
 
Ultima modifica:
Eccoti il codice completo:


Codice:
$dati=mysql_query("select * from cucine where sclusione<>'si'");
while ($array=mysql_fetch_array($dati)){

if ($contatore < 10)
{
echo "COMPOSIZIONE numero $contatore - COD $array[incremento]]";
echo "<TD>";

$immagine = "img4/resize/$array[img1]";

?>
[B]<a href="javascript:window.open('cucine3.php?id=$array[incremento]', 'PROVA', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=300,height=200')"> 
<img src=$immagine>
</a>"[/B]
<?

L'errore (se così può essere chiamato) é nel punto finale del codice, quando viene eseguito href="javascript:window.open(.
Spero che così sia più chiaro...
Fammi sapere se va bene come ho riportato il codice...

Ale
 
Ultima modifica:
Luca, per quanto riguarda la visualizzazione della variabile $immagine sono stata aiutata, ed il codice é diventato questo:

Codice:
<img src=<?php echo $immagine;?>>

Ora questo primo problema (il minore!) é risolto.
Il problema che mi rimane é relativo all'apertura della finestra ed al passaggio del parametro id=$array[incremento]

Il codice, con la correzzione apportata, diventa questo:

Codice:
$dati=mysql_query("select * from cucine where sclusione<>'si'");
while ($array=mysql_fetch_array($dati)){

if ($contatore < 10)
{
echo "COMPOSIZIONE numero $contatore - COD $array[incremento]]";
echo "<TD>";

$immagine = "img4/resize/$array[img1]";

?>
[B]<a href="javascript:window.open('cucine3.php?id=$array[incremento]', 'PROVA', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=300,height=200')">[/B] 
<img src=<?php echo $immagine;?>>
</a>"
<?

Una domanda (scusa la mia ignoranza!)... ma se invece di window.open provassi ad usare onClick?
Premetto che non ho la più pallida idea di come fare...
Credo che il problema sia questo.
Quando apro la nuova finestra, allora viene eseguito "window.open" e quindi mi apre una seconda finestra, lasciano vuota la precedente... sbaglio?

Ale
 
Ultima modifica:
il discorso è che window.open serve ad aprire un popup, mentre onclick intercetta l'evento click che puoi ottenere, nel caso di un link, con href

quando scrivi

cucine3.php?id=$array[incremento]

incremento come lo calcoli?
 

Discussioni simili