Visualizzazione risultati 1 fino 10 di 10

Discussione: Problema dati su refresh della pagina

  1. #1
    Guest

    Predefinito Problema dati su refresh della pagina

    Buongiorno a tutto il forum, il mio problema e' il seguente:Ho uno script pippo1 dove inserisco dei dati da ricercare(gg,mm,aa); questo script chiama lo script pippo2 dove mi testo il campo nascosto di pippo1, se e' impostato prelevo i dati con le variabili $g = $_REQUEST['giorno'] , $m = $_REQUEST['mese'] ,$a = $_REQUEST['anno'] e faccio comparire un form per inserire il brano e l'autore. Fin qui funziona. Nel form per inserire i brani c'e' un'altro campo nascosto che viene testato quando inserisco i brani e l'autore(quindi quando faccio il refresh della pagina nello stesso script pippo2); e qui e' il problema i campi che mi ero salvato($g,$m,$a) non sono piu' valorizzati, tante' che facendo l'insert nella tabella mi da errore. La struttura in linea di massima e' la seguente;
    if (isset($_REQUEST['nasc'])){ #campo nasc del form dei brani in pippo2
    imposto le variabili dei brani e autori
    e faccio la insert in tabella
    }else{
    if (isset($_REQUEST['nascosto'])){ #campo nascosto del form in pippo1
    imposto le variabili ($g,$m,$a)
    e faccio comparire il form per inserire i brani
    }
    }
    grazie in anticipo per le risposte

  2. #2
    Guest

    Predefinito

    ma perchè i dati non li prendi con post? e posta anche il codice del form che ci ho capito poco :P

    ciao!

  3. #3
    Guest

    Predefinito

    Non so come inserire il codice per renderlo leggibile.

  4. #4
    Guest

    Predefinito

    Usa il tag [php ] [/php ] senza gli spazi che ho inserito perché il forum non lo riconoscesse.

  5. #5
    Guest

    Predefinito

    Codice PHP:
    <?

    if(isset($_REQUEST['nasc'])){

    $b1 = $_REQUEST['brano1'];
    $a1 = $_REQUEST['autore1'];
    $b2 = $_REQUEST['brano2'];
    $a2 = $_REQUEST['autore2'];
    $b3 = $_REQUEST['brano3'];
    $a3 = $_REQUEST['autore3'];
    $b4 = $_REQUEST['brano4'];
    $a4 = $_REQUEST['autore4'];
    $b5 = $_REQUEST['brano5'];
    $a5 = $_REQUEST['autore5'];
    $b6 = $_REQUEST['brano6'];
    $a6 = $_REQUEST['autore6'];
    $b7 = $_REQUEST['brano7'];
    $a7 = $_REQUEST['autore7'];
    $b8 = $_REQUEST['brano8'];
    $a8 = $_REQUEST['autore8'];
    $b9 = $_REQUEST['brano9'];
    $a9 = $_REQUEST['autore9'];
    $b10 = $_REQUEST['brano10'];
    $a10 = $_REQUEST['autore10'];
    $b1 = mysql_escape_string($b1);
    $a1 = mysql_escape_string($a1);
    $b2 = mysql_escape_string($b2);
    $a2 = mysql_escape_string($a2);
    $b3 = mysql_escape_string($b3);
    $a3 = mysql_escape_string($a3);
    $b4 = mysql_escape_string($b4);
    $a4 = mysql_escape_string($a4);
    $b5 = mysql_escape_string($b5);
    $a5 = mysql_escape_string($a5);
    $b6 = mysql_escape_string($b6);
    $a6 = mysql_escape_string($a6);
    $b7 = mysql_escape_string($b7);
    $a7 = mysql_escape_string($a7);
    $b8 = mysql_escape_string($b8);
    $a8 = mysql_escape_string($a8);
    $b9 = mysql_escape_string($b9);
    $a9 = mysql_escape_string($a9);
    $b10 = mysql_escape_string($b10);
    $a10 = mysql_escape_string($a10);

    $server = "nomehost";
    $user = "";
    $password = "";
    $connessione = mysql_connect($server,$user,$password) or die("Connessione mysql fallita" .mysql_error());
    $db = mysql_select_db("nomedb",$connessione) or die("Connessione Db fallita". mysql_error());
    $query2 = "insert into appuntamenti(brano1,aut1,
    brano2,aut2,brano3,aut3,brano4,aut4,brano5,aut5,
    brano6,aut6,brano7,aut7,brano8,aut8,brano9,aut9,
    brano10,aut10,citta,luogo) values('
    $b1','$a1','$b2','$a2','$b3','$a3','$b4','$a4','$b5','$a5',
    '
    $b6','$a6','$b7','$a7','$b8','$a8','$b9','$a9','$b10','$a10') where giorno = '$giorno' && mese = '$mese',
    && anno = '
    $anno'";
    $risul = mysql_query($query2) or die("Inserimento nella tabella app. fallito" . mysql_error());

    echo
    "<center>
    <font size = '4'>
    Inserimento effettuato
    </font>
    </center>"
    ;
    }else{
    if(isset(
    $_REQUEST['nascosto'])){
    $trovato = "no";
    echo
    "primo passo", "<br>";
    $giorno = $_REQUEST['giorno'];
    $mese = $_REQUEST['mese'];
    $anno = $_REQUEST['anno'];

    $server = "nomehost";
    $user = "";
    $password = "";
    $connessione = mysql_connect($server,$user,$password) or die("Connessione mysql fallita".mysql_error());
    $db = mysql_select_db("nomedb",$connessione) or die("Connessione Db fallita". mysql_error());
    $query = "select descr from appuntamenti where giorno = '$giorno' && mese = '$mese' && anno = '$anno'&& (descr like '%concerto' ||descr like 'concerto%') && brano1= ''";
    $risultato = mysql_query($query) or die("Select su tabella appuntamenti fallita" .mysql_error());
    $numrec = mysql_num_rows($risultato);
    if (
    $numrec <> 0){
    $trovato = "si";
    }else{
    echo
    "Concerti non presenti";
    }
    if (
    $trovato == "si"){
    echo
    "secondo passo", "<br>";
    qui mando a video il form con le caselle di testo per inserire i brani
    }
    }
    }
    FunCool: Ho messo il codice tra i tag php.
    Ultima modifica di funcool : 12-12-2006 alle ore 18.11.58

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

    Predefinito

    Dunque, innanzitutto qualche rapido appunto:
    1) se il codice php l'avessi inserito -come suggerito- tra i tag (bbcode) [php]..codice..[/php] sarebbe sicuramente stato più leggibile.
    2) sarebbe stato interessante leggere il codice html del FORM prodotto dallo script, ma al suo posto leggiamo un breve msg "qui mando a video il form con le caselle di testo per inserire i brani", lascia visibile il codice che produce il tag form e almeno un paio di campi del form.
    E' interessante vedere il tag form anche per sapere se usi il method="post" o "get", visto che i valori inviati li leggi "genericamente" tramite l'array $_REQUEST che legge sia post che get indifferentemente, quindi non possiamo evincerlo dal codice.

    Riguardo alla richiesta di aiuto, se ho capito bene per "refresh" intendi non il "reload" della pagina tramite tasto "Aggiorna" del browser da parte dell'utente (come ho pensato inizialmente leggendo il titolo) ma -almeno spero- intendi il fatto che i dati vengono processati per successive chiamate agli script php (vuoi per submit dei form o altro).
    Giusto? non intendi refresh = "tasto aggiorna", ok?

    Non mi è chiarissima la meccanica della vicenda, ma se la tua problematica somiglia ad un più schematico:
    1) ho un form con un campo hidden "campo1"
    2) faccio il submit del form
    3) lo script che riceve i dati produce un secondo form con altro campo hidden "campo2"
    4) faccio il submit di questo secondo form
    5) lo script che riceve non trova più il valore "campo1"

    se questo somiglia alla tua problematica la soluzione è il trasporto del valore campo1 anche nel secondo form:
    ovvero se il primo form è tipo:
    <form name="form1">
    <input type="hidden" name="campo1" value="valore1">
    </form>
    nel secondo script che produce il secondo form devo fare una cosa tipo:
    <form name="form2">
    <input type="hidden" name="campo1" value="<?= $_REQUEST['campo1'] ?>">
    <input type="hidden" name="campo2" value="valore2">
    </form>

    Se questa non somiglia neanche lontanamente alla tua problematica.. penso sia il caso di spiegare con più chiarezza
    ciao
    Ultima modifica di heracleum : 12-12-2006 alle ore 16.19.46
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  7. #7
    Guest

    Predefinito

    Ok. Il primo form ha come method = 'post' action = script.php' che e' quello che contiene il codice di seguito. Per refresh intendo il click sul pulsante inserisci del secondo form.
    Codice PHP:
    if(isset($_REQUEST['nasc'])){

    $b1 = $_REQUEST['brano1'];
    $a1 = $_REQUEST['autore1'];
    $b2 = $_REQUEST['brano2'];
    $a2 = $_REQUEST['autore2'];
    $b3 = $_REQUEST['brano3'];
    $a3 = $_REQUEST['autore3'];
    $b4 = $_REQUEST['brano4'];
    $a4 = $_REQUEST['autore4'];
    $b5 = $_REQUEST['brano5'];
    $a5 = $_REQUEST['autore5'];
    $b6 = $_REQUEST['brano6'];
    $a6 = $_REQUEST['autore6'];
    $b7 = $_REQUEST['brano7'];
    $a7 = $_REQUEST['autore7'];
    $b8 = $_REQUEST['brano8'];
    $a8 = $_REQUEST['autore8'];
    $b9 = $_REQUEST['brano9'];
    $a9 = $_REQUEST['autore9'];
    $b10 = $_REQUEST['brano10'];
    $a10 = $_REQUEST['autore10'];
    $b1 = mysql_escape_string($b1);
    $a1 = mysql_escape_string($a1);
    $b2 = mysql_escape_string($b2);
    $a2 = mysql_escape_string($a2);
    $b3 = mysql_escape_string($b3);
    $a3 = mysql_escape_string($a3);
    $b4 = mysql_escape_string($b4);
    $a4 = mysql_escape_string($a4);
    $b5 = mysql_escape_string($b5);
    $a5 = mysql_escape_string($a5);
    $b6 = mysql_escape_string($b6);
    $a6 = mysql_escape_string($a6);
    $b7 = mysql_escape_string($b7);
    $a7 = mysql_escape_string($a7);
    $b8 = mysql_escape_string($b8);
    $a8 = mysql_escape_string($a8);
    $b9 = mysql_escape_string($b9);
    $a9 = mysql_escape_string($a9);
    $b10 = mysql_escape_string($b10);
    $a10 = mysql_escape_string($a10);

    $server = "nomehost";
    $user = "";
    $password = "";
    $connessione = mysql_connect($server,$user,$password) or die("Connessione mysql fallita"

    .mysql_error());
    $db = mysql_select_db("nomedb",$connessione) or die("Connessione Db fallita". mysql_error());
    $query2 = "insert into appuntamenti(brano1,aut1,
    brano2,aut2,brano3,aut3,brano4,aut4,brano5,aut5,
    brano6,aut6,brano7,aut7,brano8,aut8,brano9,aut9,
    brano10,aut10,citta,luogo)

    values('
    $b1','$a1','$b2','$a2','$b3','$a3','$b4','$a4','$b5','$a5',
    '
    $b6','$a6','$b7','$a7','$b8','$a8','$b9','$a9','$b10','$a10')

    where giorno = 28 and mese = 12 and anno = 2006"
    ;

    $risul = mysql_query($query2) or die("Inserimento nella tabella app. fallito" . mysql_error());



    echo
    "<center>
    <font size = '4'>
    Inserimento effettuato
    </font>
    </center>"
    ;
    }else{
    if(isset(
    $_REQUEST['nascosto'])){
    $trovato = "no";
    echo
    "primo passo", "<br>";
    $giorno = $_REQUEST['giorno'];
    $mese = $_REQUEST['mese'];
    $anno = $_REQUEST['anno'];
    echo
    "giorno = $giorno", "<br>";
    echo
    "mese = $mese", "<br>";
    echo
    "anno = $anno", "<br>";
    $server = "nomehost";
    $user = "";
    $password = "";
    $connessione = mysql_connect($server,$user,$password) or die("Connessione mysql fallita".mysql_error());
    $db = mysql_select_db("nomedb",$connessione) or die("Connessione Db fallita". mysql_error());
    $query = "select descr from appuntamenti where giorno = '$giorno' && mese = '$mese' && anno = '$anno'&&

    (descr like '%concerto' ||descr like 'concerto%') && brano1= ''"
    ;
    $risultato = mysql_query($query) or die("Select su tabella appuntamenti fallita" .mysql_error());
    $numrec = mysql_num_rows($risultato);
    if (
    $numrec <> 0){
    $trovato = "si";
    }else{
    echo
    "Concerti non presenti";
    }
    if (
    $trovato == "si"){
    echo
    "secondo passo", "<br>";
    echo
    "<form method = 'post'>";
    echo
    "<table bgcolor = '#e6f096' align = 'center' border = '1' cellpadding = '2' cellspancing = '0'

    width = '80%'>"
    ;
    echo
    "<caption><font size = '6px'>Inserimento Brani Concerto</font></caption>";

    echo
    "<tr>";
    echo
    "<td>";
    echo
    "1° Brano <input type = 'text' name = 'brano1' size = '30'>";


    echo
    "</td>";
    echo
    "<td>";
    echo
    "Autore <input type = 'text' name = 'autore1' size = '30'>";


    echo
    "</td>";

    echo
    "</tr>";
    echo
    "<br><br>";
    echo
    "<TR>";
    echo
    "<br>";
    echo
    "<td align = 'center' colspan = '7'>";
    echo
    "<input type = 'hidden' name = 'nasc'>";
    echo
    "<input type = 'submit' value = 'Inserisci'>";
    echo
    "</td>";

    echo
    "</table>";
    echo
    "</form>";
    }
    }
    }
    spero di essere stato piu' chiaro, comunque grazie per la tua pazienza.

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

    Predefinito

    Poi magari interpreterò con un po' di pazienza il codice.. ma al volo -tornando al mio msg precedente- puoi rispondere alla domanda se quella problematica schematica che ho ipotizzato somiglia alla tua? (leggi seconda parte msg)
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  9. #9
    Guest

    Predefinito

    Tutto corretto, tranne il punto 5: premendo il tasto inserisci non viene chiamato nessun altro script , ma e' sempre lo stesso(infatti se tu vedi all'inizio dell script mi testo il campo hidden del secondo form il quale la prima volta che entro non e' impostato.

    Ciao e grazie

    Qualcuno mi puo' aiutare
    Ultima modifica di flicbar : 14-12-2006 alle ore 12.05.09

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

    Predefinito

    Guarda, ho tentato di far notare (con una certa discrezione) che gli elementi messi a disposizione erano pressoché insufficienti per dare una mano e comprendere la situazione..
    Soprattutto non è chiara la "navigazione" tra i diversi step.
    Se lo script è online sarebbe già utile avere un link per capire l'avvicendarsi dei form.
    (vediamo il codice di un solo form)
    Altrimenti prova a dare il link ad uno zip contenente tutti i sorgenti php coinvolti e prova a fornire una spiegazione ben comprensibile dei passi che intercorrono tra uno step e l'altro.
    Ciao
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

Regole di scrittura

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