Visualizzazione dei risultati da 1 a 10 su 10

Discussione: problema con redirect

  1. #1

    problema con redirect

    ciao a tutti..
    avrei un piccolo problema con una redirect. cosa voglio fare?

    in pratica ho una pagina che deve salvare i dati inseriti in una form in un db.
    inserisco i dati in una pagina, li passa alla seconda che li processa e li salva. una volta salvati vorrei far tornare alla pagina precedente, cioè quella dove inserivo i valori. è possibile farlo in asp?

    io ho provato a fare cosi:

    prelevo i dati dalle form:

    codice:
      <%
    'Dati ricevuti dal form
    
    ID = request.Form("id")
    
    nome = request.Form("nome")
    
    cognome = request.Form("cognome")
    Descrizione = request.Form("descrizione")
    %>
    poi mi collego al database.

    una volta collegata creo il nuovo record e lo aggiorno:

    codice:
     
    
    rs.AddNew
     rs("ID") = id
     rs("nome") = nome
     rs("cognome") = cognome
      rs("descrizione") = descrizione
     rs.update
    a questo punto i dati sono salvati. e fin qui tutto OK, ora vorrei reindirizzare alla pagina della form. ho provato a scrivere:

    codice:
    next
    Response.Redirect("scrivi_db.asp")
     
     
     rs.Close
     
     OBJdbConnection.Close
    
    %>
    ma i dati mi vengono salvati e non vengo reindirizzata...dove sbaglio??

    grazie mille

  2. #2
    ho provato anche a scrivere:
    codice:
     
    
    rs.AddNew
     rs("ID") = id
     rs("nome") = nome
     rs("cognome") = cognome
      rs("descrizione") = descrizione
     rs.update
    
    Response.Redirect("scrivi_db.asp")
     
     
     rs.Close
     
     OBJdbConnection.Close
    
    %>
    e anche a mettere il redirect una volta chiuso tutto

    codice:
    rs.AddNew
     rs("ID") = id
     rs("nome") = nome
     rs("cognome") = cognome
      rs("descrizione") = descrizione
     rs.update
    
     rs.Close
     
     OBJdbConnection.Close
    
    %>
    
    <%
    Response.Redirect("scrivi_db.asp")
    %>
    ma niente neanche cosi

  3. #3
    Ciao,

    Per la posizione del redirect deve essere ovviamente dopo la chiusura degli oggetti, altrimenti quella parte viene saltata.

    Poi vieni reindirizzata.. ma cosa succede?
    Così a naso, ma non hai fornito informazioni sufficienti, scrivi_db.asp è la pagina che contiene il form, vero? Perché dal nome sembrerebbe quella che li processa, quindi è normale che non ti rimandi al form.
    In pratica, quali sono i nomi delle pagine coinvolte?
    xxx

  4. #4
    allora: le pagine coinvolte sono 2

    la prima si chiama scrivi_db che contiene la form da riempire: l'utente riempie tutti i campi e poi clicca sul bottone INVIA che rimanda alla seconda pagina.

    la seconda pagina si chiama scrivi_db_dettagli (purtroppo ho fatto un pò di macello coi nomi ) che ha lo scopo di prendere tutti i dati, inserirli nel db e poi DOVREBBE rimandare alla pagina scrivi_db.

    il problema è questo: i dati vengono inseriti tutti nel db..se infatti vado a visualizzare l'elenco completo mi fa vedere quelli appena inseriti ma non mi reindirizza la pagina!

    ho provato a mettere il respondùse.redirect dopo lo </html> ma niente..non mi reindirizza da nessuna parte

    spero di essermi spiegata meglio

  5. #5

  6. #6
    Mi pare strano però che l'istruzione venga ignorata (cioè che non dia almeno un errore o qualcosa di simile).

    Non è che nella porzione di codice che hai messo manca qualcosa (if o altro?)?
    Prova anche a mettere banalmente una response.write prima e dopo, per vedere se li ci arrivi veramente o se la pagina prende un'altra strada.
    xxx

  7. #7
    da come mi hai detto credo di aver fatto una cappella clamorosa..io non ho messo nessun IF perchè vorrei semplicemente che una volta compiuta la scrittura mi rimanda alla pagina con la form..e non saprei proprio cosa mettere come IF

    comunque la mia pagina è dove deve avvenire la redirect è questa: (dopo la correzione con la redirect dopo la chiusura del db)

    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
    
    
    <script language="JavaScript">
    	function onConferma()
    	{
    		if(confirm('Stai inserendo un nuovo utente. Sei sicuro?')==true)
    		{
    			return true;
    		}
    		else
    		{
    			return false;
    		}
    	}
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    <head>
    </head>
    
    <body>
    
    
     <%
    'Dati ricevuti dal form
    
    ID = request.Form("id")
    
    nome = request.Form("nome")
    
    cognome = request.Form("cognome")
    Descrizione = request.Form("descrizione")
    %>
    
    <%
    'Codice inserimento dati in database
    set OBJdbConnection=Server.CreateObject("ADODB.Connection")
    
    'Server.MapPath si riferisce alla directory corrente del dominio
    
     OBJdbConnection.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/SITO/database/nomi.mdb")
     Set rs=server.CreateObject("ADODB.Recordset")
    
     rs.Open "utente",OBJdbConnection,3,3
     rs.AddNew
    
     rs("ID") = id
     rs("nome") = nome
     rs("cognome") = cognome
      rs("descrizione") = descrizione
     rs.update
    
    rs.update
     rs.Close
     OBJdbConnection.Close
    %>
    
    
    </body>
    </html>
    
    <%
     Response.Redirect("scrivi_db.asp")
     %>
    che IF potrei/dovrei mettere per farlo funzionare?

    graize comunque a tutti per le risposte

  8. #8
    io toglierei tutta la parte interattiva (lo script js)

  9. #9
    allora..sono riuscita a giungere a una conclusione. ho provato a cambiare la pagina a cui si reindirizza e la apre. il problema è dovuto al fatto che la pagina scrivi_db richiama dei valori da una form precedente quindi credo che il problema sia dovuto proprio a quello..è possibile?

    mi sa che sto facendo un macello

  10. #10
    Originariamente inviato da ilarietta86
    allora..sono riuscita a giungere a una conclusione. ho provato a cambiare la pagina a cui si reindirizza e la apre. il problema è dovuto al fatto che la pagina scrivi_db richiama dei valori da una form precedente quindi credo che il problema sia dovuto proprio a quello..è possibile?

    mi sa che sto facendo un macello
    Direi di no, le request dei form non c'entrano.
    Prova a ripulire il codice di tutto quello che non è necessario come indicato da optime, tanto non serve.
    Inoltre non mi è ancora chiaro cosa intendi con "non funziona". Cioè, hai una pagina bianca, degli errori, altro?

    Prova a postare anche il codice di scrivi_db.asp

    xxx

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.