Dreamweaver: assegnare un valore a una variabile URL in un form

Di: alberigo | 26/09/2020 17:05:56

Avevo già esposto il mio problema ma, nonostante la risposta di Gian Paolo (che ringrazio per la pazienza), non lo trovo più nell'elenco degli argomenti. Poco male.
Effettivamente, rispondendo a GP, sono stato molto poco chiaro nella mia esposizione. Provo a riformulare.
Non so come fare ad assegnare un valore a una variabile URL in un form per poi utilizzarla in un altro form.
Grazie mille

Risposte



Ciao Alberigo, così come esponi il quesito, rischiamo nuovamente di non capirci . Se mi spiegassi cosa intendi fare, probabilmente potrei aiutarti.
Intanto, da form a form, come intendi usare la variabile URL, francamente non mi viene in mente nessuna operazione, se non la variabile di sessione che mantiene i dati di un utente loggato, nella propria area, per tutta la durata della stessa operando su pagine e form diversi.
Tuttavia se intendi invece far passare i dati di un form ad una pagina che li riconosce e li elabora, allora va usata la "variabile modulo".
Questo è l'esempio http://starweb.starnet.it/gianpaolo/forum/variabili_form/.
Se intendevi questo mi fai sapere che ti posto lo script.

Di: Gian Paolo | 26/09/2020 17:06:56


Scusaami se non mi sono più fatto sentire ma sono stato via per lavoro.
Rprendendo il discorso delle variabili, proverò a spiegarti la mia applicazione. Il sito è quello di un'agenzia di viaggi. Il titolare vuole avere la possibilità di inserire i viaggi che poi i visitatori del suo sito potranno consultare.
Su sua richiesta questi dettagli sono stati suddivisi in due tabelle, una prima con i dati generali (durata del tour, prezzo, ecc.) una seconda con i dettgli del tour (tappe del tour, hotel, servizi, ecc.). Le due tabelle sono legate tra loro attraverso il campo numerico IdTour.
Ho quindi messo a sua disposizione due form (uno principale per i dati generali del tour e uno secondario per i dettagli del tour). Sul primo form (quello delle generalità) ci sono tre pulsanti: 1) invia e nuova offerta; 2) invia e dettagli offerta; 3) invia e chiudi offerta.
Quando il titolare dell'agenzia preme il pulsante 2 del form principale (cioè vuole inserire i dettagli), voglio che il numero dell'offerta appena inserita (ovvero il campo IdTour di cui sopra) venga automaticamente scritto nell'omonimo campo della tabella dei dettagli.
Ritengo che il modo migliore sia quello di passare il dato da una tabella all'altra attraverso una variabile, ma non riesco a capire come questo si debba fare.
Spero di essere stato chiaro circa le mie intenzioni.
Grazie di nuovo e ciao a tutti

Di: alberigo | 26/09/2020 17:06:56


Ciao alberigo, devo dirti che la progettazione del database non viene assolutamente impostata in questo modo. Il sevizio "Tour" va implementato in un'unica tabella, non vedo il senso di questa ipotetica suddivisione in due tabelle visto che si tratta dello stesso argomento: durata del tour, prezzo, ecc. e tappe del tour, hotel, servizi, ecc. La logica delle tabelle prevede una tabella per i fornitori del servizio, in cui vanno messe le generalità dello stesso, nome, cognome, login e password. Queste ultime l'amministratore del sito le assegnerà per entrare nelle rispettive aree private per le inserzioni. Per quanto riguarda i dettagli, questi si possono estrapolare usando le funzionalità di Dreamweaver. Vedi come ho fatto io per le inserzioni dei fornitori del servizio.http://viaggi.turismonews.it/.
Tuttavia dovrei dare un'occhiata al tuo lavoro per capire in che modo hai strutturato il db e quant'altro, impresa ardua per via degli script server-side. Comunque, il modo per far aggiornare contemporaneamente due tabelle è applicare l'integrità referenziale a cascata. Francamente, tale tecnica, non riesco a inquadrarla nella struttura del tuo lavoro.
Ps
Dovresti fare attenzione alle impostazioni del tuo browser, che non codifica correttamente i caratteri di questo portale. Se hai notato, tutte le vocali accentate vengono visualizzate male. Ti rimando alla discussione fatta nel thread http://www.001design.it/forum_italiano/thread.php?id=8321.

Di: Gian Paolo | 26/09/2020 17:07:56


Grazie per le info. Ho dato un'ogghiata al sito e devo dire che probabilmente hai ragione nel reimpostare le tabelle anche se è il mio cliente a volerle impostate in questa maniera. Effettivamente andrebbero semplificate. Approfitto della tua disponibilità per porti il seguente quesito:
<?php
// apre il database
$host = "xx.xxx.xxx.xxx";
$user = "nome";
$pwd = "password";
$dbConn = mysql_connect($host,$user,$pwd);
// si collega al database
$database = "nomedatabase";
mysql_select_db($database);
// aggiorna il database
$query_updateAccesso = "UPDATE tblAdmin SET UserId='".$_POST['UserId']."', Password='".$_POST['Password']."' WHERE IdCountUtenti=".$_GET['IdCountUtenti'];
$updateAccesso = mysql_query($query_updateAccesso);
// rimanda alla pagina precedente
header("Location: ../PaginaAdmin/MenuAdmin.php");
?>
Ho elaborato questo script per l'update della tabella degli accessi, ma l'unico risultato che ottengo è quello di vedere svuotati i campi userid e password dei valori che avevo precedentemente inserito.
E' giusta la sintassi del codice php oppure è un problema di definizione dei campi della tabella (che sono entrambi impostati come varchar)?
PS
ho provato a variare le impostazione del browser ma i risultati delle varie combinazioni sono o che vedo le a accentate oppure le e accentate. Che tu sappia c'è qualche settaggio particolare da eseguire con firefox?
Grazie di nuovo.

Di: alberigo | 26/09/2020 17:07:56


Scusa, ma perché non usi gli strumenti di DW per creare il file di connessione? Lo stesso vale per l'Insert, l'Update e il Delete.
La connessione al db, con DW è di questo tipo:
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_connect = "localhost";
$database_connect = "nomedb";
$username_connect = "root";
$password_connect = "tuapwd";
$connect = mysql_pconnect($hostname_connect, $username_connect, $password_connect) or trigger_error(mysql_error(),E_USER_ERROR);
?>
Lo script generato da da DW per l'aggiornamento di una tabella è di questo tipo:
/* Commento per non interferire con gli script del forum
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
$updateSQL = sprintf("UPDATE utenti SET utente=%s, `user`=%s, pwd=%s, livel=%s WHERE id=%s",
GetSQLValueString($_POST['utente'], "text"),
GetSQLValueString($_POST['user'], "text"),
GetSQLValueString($_POST['pwd'], "text"),
GetSQLValueString($_POST['livel'], "text"),
GetSQLValueString($_POST['id'], "int"));
mysql_select_db($database_connect, $connect);
$Result1 = mysql_query($updateSQL, $connect) or die(mysql_error());
*/ FINE COMMENTO
La tabella riguarda l'username, la password e il livello di accesso.
Naturalmente è solo una parte dell'intero script. Uno script robusto con funzioni che prevedono eventuali bug.
Per i settaggi del browser dovresti fare delle prove e risolvere il problema, altrimenti avrai problemi anche nell'inserimento dati dei tuoi db.

Di: Gian Paolo | 26/09/2020 17:08:56


Sono un rimbambito !!! L'aggiornamento della tabella non veniva eseguito perchè con il codice php gli dicevo di scrivere nella tabella il nome del campo della tabella stessa invece del contenuto della casella di testo presente nel modulo. Accortomi dell'errore ora funziona perfettamente (quindi anche tutte le paranoie che mi sono fatto circa le variabili sono soltanto servite a far perdere del tempo alla gente, in particolare a te che hai cercato di capire il mio problema). Non mi resta che ringraziarti per la tua disponibilità e scusarmi per il tempo che ti ho fatto perdere.

Di: alberigo | 26/09/2020 17:08:56