Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    165

    Passaggio di parametri con POST

    Salve, nella mia applicazione ho un link del genere:

    Codice PHP:
    print "<a href=\"modifica_valore.php?op=1&id=$row[0]\"><img src=\"modifica.jpg\"></a>" 
    dove il parametro "op" è un codice che identifica il tipo di modifica da fare e "id" è l'identificativo dell'elemento da modificare.
    Naturalmente il valore dei due parametri viene ottenuto nel seguente modo nel file "modifica.php" :
    Codice PHP:
    $op $_GET['op']; 
    $id $_GET['id']; 
    e tutto funziona correttamente...

    Volevo eseguire la stessa operazione utilizzando il metodo POST o utilizzando le variabili di sessione per nascondere i valori dei parametri all'utente! Come è possibile farlo?

    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    POST: se passassi da un form le variabili sarebbero cmq visibili nel codice del form...
    SESSIONI: è la cosa più sensata... in cima ai tuoi script usi session_start(); e in quello contenente il link setti i valori (naturalmente suppongo NON ci siano due link analoghi con parametri diversi *) con qualcosa come $_SESSION['id'] = ... che poi leggi nell'altro script come fai con post, ma usando appunto $_SESSION

    (*) se questo è il caso potresti usare POST e curl

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    165
    Originariamente inviato da eiyen
    ...naturalmente suppongo NON ci siano due link analoghi con parametri diversi...
    In realtà è proprio quello il problema! Devo settare le variabili di Sessione in base al link che l'utente preme (quindi con valori diversi a seconda del link premuto)

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    se vuoi mascherare il codice codificalo in base a qualche determinato formato :

    base64
    uri
    -> tuo sistema !!

    Altrimenti non hai modo di capire cosa preme l'utente.

    VOlendo puoi anche generare un crc o un md5 a partire ad prodId.procCategory.ProdName cosi' avrai un hash univoco non capibile dall'utente

    quando carichi dal db fai la stessa operazione in sql... e mascheri tutto

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    165
    Originariamente inviato da Virus_101
    se vuoi mascherare il codice codificalo in base a qualche determinato formato :

    base64
    uri
    -> tuo sistema !!

    Altrimenti non hai modo di capire cosa preme l'utente.

    VOlendo puoi anche generare un crc o un md5 a partire ad prodId.procCategory.ProdName cosi' avrai un hash univoco non capibile dall'utente

    quando carichi dal db fai la stessa operazione in sql... e mascheri tutto
    La cosa che volevo fare è molto più semplice! Volevo solamente che il codice o l'id non apparisse sulla barra di navigazione!

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    e come fai a capire cosa clicca l'utente ?????

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    165
    Originariamente inviato da Virus_101
    e come fai a capire cosa clicca l'utente ?????
    L'idea era quella di creare per ogni link un form, e passavo col metodo POST dei valori "hidden" ma non ci riesco!

    Ho provato così per un singolo link:

    Codice PHP:
    print " <form name=\"mod\" action=\"modifica.php\" method=\"POST\"> "
    print 
    " <inupt type='hidden' name='op' value='0'> "
    print 
    "<inupt type='hidden' name='id' value='$row[0]'> "
    print 
    "<a href=\"modifica.php\" onclick=\"mod.submit()\"; return false;\">
    <img src=\"modifica.jpg\"></a> </form> </td>"

    ma quando clicco e il browser mi manda a "modifica.php" mi dice:

    Undefined index: op in C:\...
    Undefined index: id in C:\...

    corrispondente alle linee
    Codice PHP:
    $op $_POST['op']; 
    $id $_POST['id']; 

  8. #8
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    1- SEO !
    2- Permalinks
    3- hidden js redirect
    4- ajax calls

    Devi considerare queste cose innanzitutto.
    Le pagina devono essere indicizzate dai motori ? si/no
    Come voglio che vengano indicizzate ? permalink / alla cdc ?

    SOno cose che devi considerare.... se non ti frega nulla di cioì allora us un form nascosto ma che il codice sulla pagina ci deve sempre essere il mio consiglio e' non stampare il codice id ma fare una cosa del genere

    $idLink = md5( $record["id"].$record["name"].$record["altrocampo"] ) ;

    e quqndo fai la query select * from prodotti where md5( concat(concat(id,name) ,altrocampo ) = $_GET["idLink"] ;

    E' un esempio e i nomi variabili e campi sono inseriti per puro esempio ...

  9. #9
    Originariamente inviato da WalterP
    L'idea era quella di creare per ogni link un form, e passavo col metodo POST dei valori "hidden" ma non ci riesco!

    Ho provato così per un singolo link:

    Codice PHP:
    print " <form name=\"mod\" action=\"modifica.php\" method=\"POST\"> "
    print 
    " <inupt type='hidden' name='op' value='0'> "
    print 
    "<inupt type='hidden' name='id' value='$row[0]'> "
    print 
    "<a href=\"modifica.php\" onclick=\"mod.submit()\"; return false;\">
    <img src=\"modifica.jpg\"></a> </form> </td>"

    ma quando clicco e il browser mi manda a "modifica.php" mi dice:

    Undefined index: op in C:\...
    Undefined index: id in C:\...

    corrispondente alle linee
    Codice PHP:
    $op $_POST['op']; 
    $id $_POST['id']; 
    Modifica così:

    Codice PHP:
    ...
    print 
    "<a href=\"modifica.php\" onclick=\"mod.submit(); return false;\"> 
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    a questo punto fa tutto in ajax che ti conviene.

    Le soluzioni con form nascosti e acrocchi vari sono oscene nel 2012 !

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.