Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302

    Recupero valore da query string

    Buongiorno a tutti,
    non riesco a passare un id tramite querystring, ho una pagina che dovrebbe updatare i dati di un form,

    clicco su
    codice:
    http://www.sito.com/mapp.php?idappuntamento=11
    il collegamento mi porta su idappuntamento=11 (quindi ok)

    una volta che ho aperto il form, modifico quello che devo modificare, passo il tutto al codice di modifica

    Codice PHP:
    <?php
    foreach ($_POST as $key => $value) {
        
    $_POST[$key] = addslashes($value);


    // EFFETTUO L'UPPER CASE DEI CAMPI INSERITI
    foreach ($_POST as $key => $value) { 
        
    $_POST[$key] = strtoupper($value); 
    }

    $idappuntamento $_POST['idappuntamento'];
    $cliente $_POST['cliente'];
    $gestore $_POST['gestore'];
    $data $_POST['data'];
    $ora $_POST['ora'];
    $stato_pren $_POST['stato_pren'];
    $tipoprenotazione $_POST['tipoprenotazione'];
    $telefono $_POST['telefono'];
    $note $_POST['note'];

    // INCLUDO IL FILE PER LA CONNESSIONE AL DATABASE
    include ("connessione.php");
     
    // PREPARO LA QUERY DI UPDATE
    $sql "UPDATE appuntamenti SET cliente =('$cliente'), gestore =('$gestore'),data = STR_TO_DATE('$data', '%d/%m/%Y'),ora =('$ora'),stato_pren =('$stato_pren'),tipo_pren =('$tipoprenotazione'),telefono =('$telefono'),note =('$note') WHERE idappuntamento='$_REQUEST[idappuntamento]'";

    // LANCIO LA QUERY
    $result mysql_query($sql);

    // CONTROLLO L'ESITO
    if (!$result) {
        die(
    "Errore nella query $sql: " mysql_error());
    }

    // SE VA A BUON FINE STAMPO A VIDEO IL MESSAGGIO

    ...
    else

    // CHIUDO LA CONNESSIONE A MYSQL
    mysql_close();

    ?>
    ed ottengo

    codice:
    UPDATE appuntamenti SET cliente =('PIPPO PELO'), gestore  =('NESSUNO'),data = STR_TO_DATE('21/06/2016', '%d/%m/%Y'),ora  =('09:30:00'),stato_pren =('APP. CONFERMATO'),tipo_pren  =('MECCANICA'),telefono =('333333333'),note =('APPUNTAMENTO  XXX') WHERE idappuntamento=''
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  2. #2
    $_REQUEST[idappuntamento] scritto così sbaglio o ci mancano gli apici?
    $_REQUEST["idappuntamento"] dovrebbe essere corretto

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Quote Originariamente inviata da camionistaxcaso Visualizza il messaggio
    $_REQUEST[idappuntamento] scritto così sbaglio o ci mancano gli apici?
    $_REQUEST["idappuntamento"] dovrebbe essere corretto
    Ciao camionstaxcaso,
    ho provato come suggerito, ma ottengo errore di sintassi

    codice:
    PHP Parse error:  syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  4. #4
    Provi ad utilizzare la variabile che ha creato ovvero:
    codice:
    $sql = "UPDATE appuntamenti SET cliente =('$cliente'), gestore =('$gestore'),data = STR_TO_DATE('$data', '%d/%m/%Y'),ora =('$ora'),stato_pren =('$stato_pren'),tipo_pren =('$tipoprenotazione'),telefono =('$telefono'),note =('$note') WHERE idappuntamento='$idappuntamento'";
    se non va dovrebbe forzare la conversione dei valori interi:
    $idappuntamento viene visto da php come stringa


    Provi ad usare una funzione così fatta:
    http://www.lmweb.it/blog/php-convert...nge-in-interi/

    Sinceramente tempo fa mi trovai anche io con un problema del genere ma non ricordo dettagliatamente la causa
    LMWEB.it - Il portale tecnologico
    http://www.lmweb.it - http://www.lmweb.it/blog

  5. #5
    ma usare le Prepared Statement??

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Per i posteri con la speranza che non commettano i miei stessi stupidi errori:


    Il problema era nella input

    <input type="text" name="idappuntamento" id="idappuntamento" value="<?php echo $idappuntamento?>" size="2" readonly="readonly">

    settata a "disabled=disabled" e i valori del POST non passano.

    Un grazie di cuore al mio amico Domenico
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  7. #7
    nessuno che si è lamentato delle funzioni mysql deprecate come mai? Lo farò io

  8. #8
    Quote Originariamente inviata da camionistaxcaso Visualizza il messaggio
    nessuno che si è lamentato delle funzioni mysql deprecate come mai? Lo farò io
    io ci ho perso le speranze ormai.
    ci sono troppi tutorial in giro che indicano di usare le funzioni mysql

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