Visualizzazione risultati 1 fino 10 di 10

Discussione: Inviare varibile con javascript a codice php

  1. #1
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito Inviare varibile con javascript a codice php

    Ciao
    Dovrei creare un tasto "stampa" che contemporaneamente faccia
    aprire una finestra di pop up (stampa.php, che dovra essere stampata automaticamente e che prima ancora deve richiamare alcuni dati dal db)
    e che invii una variabile (id_fatt per identificare il documento esatto da richiamare dal db) al codice php di questa pagina.
    E' possibile fare le 2 cose con solo codice javascript?
    Quale potrebbe essere il codice di questo tasto "stampa"?
    Grazie

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    <a href="javascript:void(0);" onclick="window.open('pagina.php?variabile=<?=$variabile; ?>');">Stampa</a>
    Nella pagina stampa per recuperare il valore della variabile:
    Codice PHP:
    $nuovavariabile=$_GET['variabile'];
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da funcool
    Codice PHP:
    <a href="javascript:void(0);" onclick="window.open('pagina.php?variabile=<?=$variabile; ?>');">Stampa</a>
    Nella pagina stampa per recuperare il valore della variabile:
    Codice PHP:
    $nuovavariabile=$_GET['variabile'];
    Provo subito, grazie!!

    Devo usare un tasto, non un link comunque.

    ps: a proposito, quali sono le dimensioni consigliate visto che la pagina deve essere stampata per intero su un foglio A4?

  4. #4
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Dunque, per il primo passo va bene quel che consiglia funcool (toglierei il ";" però dove scriviamo <?= $variabile ?>).
    Se vuoi un bottone ovviamente avrai una cosa tipo:
    Codice HTML:
    <input type="button" onclick="window.open('stampa.php?id_fatt=<?= $id_fatt ?>');" value="Stampa" />
    il secondo passo..
    quale secondo passo?
    scusate pensavo che oltretutto volessi aggiornare la pagina stessa (non il popup ma quella col bottone "stampa") inviandogli un'altra variabile.. come non detto ;)
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  5. #5
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da gianlucaweb
    a proposito, quali sono le dimensioni consigliate visto che la pagina deve essere stampata per intero su un foglio A4?
    Leggi qui.

    Citazione Originalmente inviato da heracleum
    toglierei il ";" però dove scriviamo <?= $variabile ?>
    Perché?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  6. #6
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Al momento vado di fretta non posso controllare,
    comunque per chi viene da Java (JSP) dove la sintassi è molto più rigida di php
    scrivere:
    <%= variabile ; %>
    genera un errore perché in effetti non ha molto senso:
    ; segna la fine di una istruzione completa, avrebbe senso in questo caso:

    <? echo $variabile; ?>

    mentre se invece di un'istruzione si vuole SOLO printare immediatamente (con il segno "uguale" <?= ) un valore di una variabile basta:

    <?= $variabile ?>

    Comunque ribadisco, vista la "generosità" della sintassi php, non mi stupirei affatto che non dia errore. Infatti ho detto "IO toglierei"..perché sono abituato in java così poi..
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  7. #7
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da funcool
    Codice PHP:
    <a href="javascript:void(0);" onclick="window.open('pagina.php?variabile=<?=$variabile; ?>');">Stampa</a>
    Nella pagina stampa per recuperare il valore della variabile:
    Codice PHP:
    $nuovavariabile=$_GET['variabile'];
    Ok, per la finestra di pop e la stampa ma ho ancora un problema
    che forse riguarda più il codice php.
    Non riesco ad inviare la variabile.

    la variabile è l'id_fattura
    che dovrebbe essere presa da questa funzione:

    Codice PHP:

    function conferma($id2,$not,$aspetto) {
    if(
    $id2 != 0){

    global
    $numero, $tot_fatt;

    $oggi = time();

    $sql3 = mysql_query("INSERT INTO fatture (numero_fatt, id_cliente, totale, data, annotazioni, aspetto)
    VALUES ('
    $numero', '$id2', '$tot_fatt', '$oggi', '$not', '$aspetto');");
    $id_fatt = mysql_insert_id();

    $sql4 = mysql_query("SELECT * FROM carrello");

    while(
    $row2 = mysql_fetch_array($sql4) )
    {
    $codi = $row2['codice'];
    $desc = $row2['descrizione'];
    $qua = $row2['quantita'];
    $prezzou = $row2['prezzo_un'];
    $iv = $row2['iva'];


    $sql5 = mysql_query("INSERT INTO prodotti_acquistati (codice, descrizione, quantita, prezzo_un, iva, id_fattura)
    VALUES ('
    $codi', '$desc', '$qua', '$prezzou', '$iv', '$id_fatt');");
    }
    delete_all();
    }
    non riesco ad inviarla con questo tasto:

    Codice PHP:
    <td width=\"45%\" height=\"25\" align=\"left\">
    <input type=\"submit\" class=\"btn\" Value=\"Stampa\" onclick=\"javascript:Popup('stampa.php?variabile=
    $id_fatt')\"
    onmouseover=\"this.className='btn btnhov'\" onmouseout=\"this.className='btn'\"></td>
    </tr>
    se creo una variabile generica sopra a questo codice ad esempio

    $var = 73;

    e la inserisco così:
    onclick=\"javascript:Popup('stampa.php?variabile=$ ivar')\"

    Il numero 73 viene effettivamente inviato e visualizzato dalla pagina stampa.php
    quindi il problema è che non riesco a catturare la varibile id_fatt dalla funzione conferma,
    che anche in questo caso è richiamata da una tasto submit
    (veramente perdo anche altri dati che precedentemente erano stati inviati a loro volta da altre pagine e richiamate con request, perchè la pagina
    dopo il submit si aggiorna, ma in questo caso non c'è problema perchè nel frattempo ho inserito nel db i dati).

    C'è qualcosa che mi sfugge. Come risolvo?
    grazie

  8. #8
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Per recuperare la variabile, dovresti fare una select ed estrarre la riga.

  9. #9
    L'avatar di powser
    powser non è connesso Moderatore
    Data registrazione
    29-12-2003
    Residenza
    Ragusa
    Messaggi
    2,917

    Predefinito

    io sono un pò ignorante, ma se levi il delete_all ()
    "I have something to say, it's better to burn out than to fade away..." Victor Kruger/The Kurgan

    My Site

    La risposta alla tua domanda, la trovi su http://forum.altervista.org basta fare una ricerca!

  10. #10
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da silverseraph
    Per recuperare la variabile, dovresti fare una select ed estrarre la riga.
    l'avevo pensato, ma l'id_fatt si "crea" all'interno di quella funzione....ma forse
    volevi dire altro. Grazie


    EDIT:
    Citazione Originalmente inviato da powser
    io sono un pò ignorante, ma se levi il delete_all ()
    Beh! Io sono ancora più ignorante
    Perchè la devo togliere?
    Richiama una funzione esterna che azzera la tabella carrello.
    C'è qualcosa che mi sfugge?
    Grazie


    FunCool: Non scrivere due messaggi consecutivi, utilizza il tasto Edita.
    Ultima modifica di funcool : 09-01-2007 alle ore 11.16.54

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •