Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di maggy
    Registrato dal
    Jul 2005
    Messaggi
    194

    Problemi con un <form action="">

    Ho un problema con un form.

    Nella pagina del form ho degli input ed una textarea che visualizzo già con un valore impostato, preso da sql, in modo da poterlo direttamente modificare ed inviare col submit ad una pagina che aggiorna i campi nel database.

    Posto il codice.
    La pagina del form è questa:

    Codice PHP:
    $query="SELECT * FROM guestbook WHERE id_gb='".$_GET[id]."'";
    $result mysql_query($query$db);
    $row mysql_fetch_array($result);
    $echo="
    <form action=\"modify.php?id="
    .$row[id_gb]."\" action=\"post\">
    Da:
    <input name=\"da\" value=\""
    .$row[da]."\" />

    Email:
    <input name=\"email\" value=\""
    .$row[email]."\" />

    [size="
    1"]Data:[/size]
    <input name=\"data\" value=\""
    .$row[data]."\" class=\"small\" />

    Testo:
    <textarea name=\"msg\">"
    .$row[msg]."</textarea>
    "

    Poi nella pagina di destinazione darò questa query:
    Codice PHP:
    $query="UPDATE guestbook SET da='".$_POST[da]."', email='".$_POST[email]."', msg='".$_POST[msg]."' WHERE id_gb='".$_GET[id]."'"
    Il mio problema è nel passaggio tra le due pagine: nonostante indichi il form con
    Codice PHP:
    action=\"modify.php?id=".$row[id]."\" 
    , bhe cliccando su submit vengo mandata all'url
    Codice PHP:
    modyfy.php?da=VALOREDA&email=VALOREEMAIL&data=VALOREDATA&msg=VALOREMSG 
    cioe mi riporta tutti i dati che nella pag del form avevo come "value"... inutile dire che così non funziona... anche perche di norma la variabile msg è piuttosto lunga, e l'url è rtoncato...

    Cosa ho sbagliato?

    Grazie a chi vorrà darmi una mano!!


    mag

    Camera on your mobile phone. I prefer a portable toilet on it.

  2. #2
    Utente di HTML.it L'avatar di Graboid
    Registrato dal
    Oct 2004
    Messaggi
    619
    Guarda che hai scritto :

    <form action=\"modify.php?id=".$row[id_gb]."\" action=\"post\">

    e non

    <form action=\"modify.php?id=".$row[id]."\" action=\"post\">

  3. #3

    .....

    Ciao.
    <form action=\"modify.php?id=".$row[id_gb]."\" action=\"post\">
    prova a sostituire con :
    <form action=\"modify.php?id=".$_GET['id']."\" action=\"post\">
    usa "" o '' per l'array e recupera solo i campi necessari.
    Guarda nel codice xhtml del form cosa c'è.





    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  4. #4
    secondo me ti conviene lasciar perdere il GET e usare solo POST, invece di dare come destinazione "modify.php?id=" ecc.., crea un campo nascosto al quale darai il valore ID e poi passa tutto alla pagina "modify.php" la quale, insieme ai valori dei campi, rileverà anche quello di ID.
    Poi altro consiglio: chiunque costruisca una pagina ad hoc inviandola alla tua modify.php, potrebbe modificarti i dati del database senza troppi problemi così come l'hai scritta, meglio inserire i dati POST in delle variabili e controllarli prima di inviare la query.

  5. #5
    Utente di HTML.it L'avatar di maggy
    Registrato dal
    Jul 2005
    Messaggi
    194
    Originariamente inviato da Graboid
    Guarda che hai scritto :

    <form action=\"modify.php?id=".$row[id_gb]."\" action=\"post\">

    e non

    <form action=\"modify.php?id=".$row[id]."\" action=\"post\">
    scusate, ho copiato male nel post, nella pagina è scritto giusto...
    provo con le virgolette, ma il mio problema è che non voglio metta nell'url tutti i value...

    Camera on your mobile phone. I prefer a portable toilet on it.

  6. #6
    Utente di HTML.it L'avatar di maggy
    Registrato dal
    Jul 2005
    Messaggi
    194
    Originariamente inviato da Lathspell
    secondo me ti conviene lasciar perdere il GET e usare solo POST, invece di dare come destinazione "modify.php?id=" ecc.., crea un campo nascosto al quale darai il valore ID e poi passa tutto alla pagina "modify.php" la quale, insieme ai valori dei campi, rileverà anche quello di ID.
    Poi altro consiglio: chiunque costruisca una pagina ad hoc inviandola alla tua modify.php, potrebbe modificarti i dati del database senza troppi problemi così come l'hai scritta, meglio inserire i dati POST in delle variabili e controllarli prima di inviare la query.
    Sì inrealta stavo anche io pensando di passare tutto con POST, solo che mi pareva un comportamento un po' strano.... :master:

    Camera on your mobile phone. I prefer a portable toilet on it.

  7. #7
    Utente di HTML.it L'avatar di maggy
    Registrato dal
    Jul 2005
    Messaggi
    194
    Nulla da fare...
    Ho levato tutti i get ed aggiunto un campo hidden, che poi recupero col post, ma resta tutto come prima... cliccando su submit mi rimanda all'url:

    modify.php?da=VALOREDA&email=VALOREEMAIL&data=VALO REDATA&msg=VALOREMSG

    in un altro form, con gli input vuoti, ovviamente funziona tutto perfettamente, ma qui aggiunge tutti 'sti value all'url...

    edit: ora nell'url aggiunge anche i campi hidden...

    Camera on your mobile phone. I prefer a portable toilet on it.

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    devi scrivere method="post" non action.

    Per il resto condivido il suggerimento di Lathspell.

  9. #9
    Utente di HTML.it L'avatar di maggy
    Registrato dal
    Jul 2005
    Messaggi
    194
    Originariamente inviato da nicola75ss
    devi scrivere method="post" non action.
    vi prego sopprimetemi... son riuscita a nn accorgermene nonostante abbia riletto ste 10 righe di codice milioni di volte....















    grazie a tutti cmq

    Camera on your mobile phone. I prefer a portable toilet on it.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.