|
|
|
|
Strumenti |
13-01-2018, 19:24 | #1 |
Junior Member
Iscritto dal: Jan 2018
Messaggi: 8
|
Utilizzo del metodo GET
Salve a tutti, sono nuovo su questo forum e, come da titolo, ho un problema sull'utilizzo del metodo GET. Sicuramente è un problema di facile risoluzione ma non sono riuscito a venirne a capo.
Ho una pagina HTML all'interno della quale c'è un bottone che mi rimanda al seguente div e quindi all'apertura della pagina "prova.php". <div id="dialog-form" title="Rispondi"> <object type="text/html" data="prova.php" width="420px", height="420px"></object> </div> Il mio obiettivo è passare una variabile nella pagina php e per farlo utilizzo il metodo GET. Per questo motivo modifico data="prova.php" in data="prova.php?CODICE="+id dove ovviamente id è la variabile della pagina html che voglio passare. Nella pagina php richiamo la variabile con $_GET['CODICE'] che tuttavia mi ritorna 0, probabilmente perchè non legge la variabile id. Ho provato a semplificare nel seguente modo (per fare una prova) data="prova.php?CODICE=5" e così mi viene tornato correttamente 5 come valore. Grazie in anticipo... |
14-01-2018, 09:54 | #2 |
Member
Iscritto dal: May 2003
Messaggi: 57
|
Ciao, il problema è che tenti di passare un parametro tramite la variabile id inserita direttamente nell'html.
Questo non potrà mai funzionare, in quanto non è possibile usare variabili javascript nell'html (a meno che tu non stia usando framework come angular, react e così via). Per far funzionare il tutto dovrai cambiare l'attributo "data" del tag object dinamicamente attraverso javascript. In pratica alla pressione del tasto che visualizza il tuo div andremo a chiamare una funzione che modifica il tag object. Ad esempio: Codice:
HTML <button onclick="visualizzaPagina(4)">Visualizza</button> <div id="dialog-form" title="Rispondi"> <object type="text/html" id="contenitore" data="prova.php" width="420px", height="420px"></object> </div> JAVASCRIPT function visualizzaPagina(id){ document.getElementById('contenitore').data = 'prova.php?CODICE='+id; } |
14-01-2018, 11:13 | #3 | |
Junior Member
Iscritto dal: Jan 2018
Messaggi: 8
|
Quote:
Grazie mille, così funziona perfettamente |
|
14-01-2018, 13:36 | #4 |
Junior Member
Iscritto dal: Jan 2018
Messaggi: 8
|
Altro problema: questa è la pagina in cui ricevo la variabile, e la leggo correttamente. Adesso devo passarla a "upload.php" ma anche in questo caso non va, come mai?
Codice:
<html> <?php $cod = $_GET["CODICE"]; echo "$cod"; ?> <script type="text/javascript" src="https://code.jquery.com/jquery-1.10.2.js"></script> <head> <style> #writingArea {border: solid black 2px; touch-action:none; -ms-touch-action:none;} </style> <script src="hand-1.0.11.js"></script> <script> function pulisci() { context.clearRect(0, 0, writingArea.width, writingArea.height); } var writingArea; var context; var pointerDown = []; var lastPositions = []; var onPointerMove = function(evt) { if (pointerDown[evt.pointerId]) { context.strokeStyle = "rgb(255, 0, 0)"; context.beginPath(); context.lineWidth = 3; context.moveTo(lastPositions[evt.pointerId].x, lastPositions[evt.pointerId].y); context.lineTo(evt.clientX, evt.clientY); context.closePath(); context.stroke(); lastPositions[evt.pointerId] = { x: evt.clientX, y: evt.clientY }; } }; var onPointerOut = function (evt) { pointerDown[evt.pointerId] = false; }; var onPointerUp = function (evt) { pointerDown[evt.pointerId] = false; }; var onPointerDown = function (evt) { pointerDown[evt.pointerId] = true; lastPositions[evt.pointerId] = { x: evt.clientX, y: evt.clientY }; }; window.onload = function() { writingArea = document.getElementById("writingArea"); writingArea.width = writingArea.clientWidth; writingArea.height = writingArea.clientHeight; context = writingArea.getContext("2d"); writingArea.addEventListener("pointerdown", onPointerDown, false); writingArea.addEventListener("pointermove", onPointerMove, false); writingArea.addEventListener("pointerup", onPointerUp, false); writingArea.addEventListener("pointerout", onPointerUp, false); } $(document).ready(function() { $("#bt_upload").click(function() { var writingArea = document.getElementById('writingArea'); var dataURL = writingArea.toDataURL(); $.ajax({ type: "GET", url: "upload.php?prova=$cod", data: { img: dataURL } }).done(function(msg){ alert(msg); }); }); }); </script> </head> <body> <canvas width="350px" height="300px" id="writingArea"></canvas> <p> <button onclick="pulisci()">Pulisci</button> <button id="bt_upload">Upload</button> </p> </div> </body> </html> |
14-01-2018, 13:42 | #5 |
Member
Iscritto dal: May 2003
Messaggi: 57
|
non funziona perchè non puoi stampare una variabile php senza usare i tag <?php ?>.
Devi cambiare la riga url: "upload.php?prova=$cod", in url: "upload.php?prova=<?=$cod ?>", Nota: la sintassi <?=$cod ?> è la versione abbreviata di <?php echo $cod; ?> |
14-01-2018, 13:56 | #6 |
Junior Member
Iscritto dal: Jan 2018
Messaggi: 8
|
chiarissimo grazie
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:37.