Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    12

    passare variabile $id con metodo POST

    Buongiorno a tutti,

    anzitutto voglio fare i complimenti a tutti coloro che contribuiscono a rendere questa community speciale. HTML.it è veramente unico nel suo genere, le guide ben fatte sono utilissime sia a me personalmente, e sono sicuro alla stragrande maggioranza degli utenti che cerca argomenti inerenti alla programmazione e quanto di concerne. Prima di postare ho cercato in varie sezioni del sito, e anche su Google non trovando niente, al ché mi è venuto il dubbio che ciò che voglio fare non si possa fare, ve lo posto qui. Ho bisogno di passare una variabile dopo aver selezionato delle checkbox e premuto il tasto invia. L'unica cosa è che la variabile la vorrei passare in PHP, ovvero con codice $id, però quando la vado a richiamare non riesco a leggerla. Potreste aiutarmi? Vi posto il codice:
    immaginiamo che il file sorgente sia:
    <?php $id = 24;?><form method="POST" action="accountattivati.php">
    <input type="checkbox" name="<?php $id;?>" value="">
    <input type="submit" name="Apply" value="Attiva">
    </form>

    il file accountattivati.php è cosi composto:


    if (isset($_POST['id'])) {

    // Checkbox is selected
    echo $_POST['id'];
    echo 'attivo';
    } else {
    $_POST['id']) = 0;
    echo $_POST['id'];
    echo 'non attivo';
    // Alternate code
    }

    Con questo codice, il programma va sempre sull'Else, sia che io selezioni la checkbox, sia che non la selezioni, perché il valore id non gli viene passato correttamente. Dove sbaglio?
    Grazie dell'attenzione.

  2. #2
    Se passi il valore nel campo name piuttosto che in quello value è ovvio che non ti legga nulla!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    12
    Grazie della risposta satifal. Ho provato a correggere in due modi, ma ancora niente:
    sia mettendo anche il campo value;
    <?php $id = 24;?><formmethod="POST"action="accountattivati.php">
    <inputtype="checkbox"name="<?php $id;?>"value="<?php $id;?>">
    <inputtype="submit"name="Apply"value="Attiva">
    </form>

    sia mettendo solo il campo value e tenendo vuoto il campo name;
    <?php $id = 24;?><formmethod="POST"action="accountattivati.php">
    <inputtype="checkbox"name=""value="<?php $id;?>">
    <inputtype="submit"name="Apply"value="Attiva">
    </form>

    Come potrei risolvere?

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    se non metti un echo $id non lo vedrai mai il valore
    Codice PHP:
    <?php $id 24;
    ?>
    <form method="POST" action="accountattivati.php">
    <input type="checkbox" name="UnNome" value="<?php echo $id;?>">
    <input type="submit" name="Apply" value="Attiva">
    </form>

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    12
    Quote Originariamente inviata da clasku Visualizza il messaggio
    se non metti un echo $id non lo vedrai mai il valore
    Codice PHP:
    <?php $id 24;
    ?>
    <form method="POST" action="accountattivati.php">
    <input type="checkbox" name="UnNome" value="<?php echo $id;?>">
    <input type="submit" name="Apply" value="Attiva">
    </form>
    Grazie clasku, purtroppo però non funziona. Mi domando: fosse errato il metodo in cui richiamo il POST nel secondo file?

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    primo comandamento: "non funziona non significa nulla"
    ottieni un errore? una pagina bianca? altro?

    nel file accountattivati.php fai un semplice
    Codice PHP:
    echo $_POST['name del campo nel form']; 

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    12
    Quote Originariamente inviata da clasku Visualizza il messaggio
    primo comandamento: "non funziona non significa nulla"
    ottieni un errore? una pagina bianca? altro?
    intendevo che il risultato è lo stesso dell'inizio, non ottengo nulla, una pagina bianca con scritto "0 non attivo", perché il programma entra nell'ELSE.

    Quote Originariamente inviata da clasku Visualizza il messaggio
    nel file accountattivati.php fai un semplice
    Codice PHP:
    echo $_POST['name del campo nel form']; 
    Ho provato, se non faccio isset mi da questa Notice:
    Notice: Undefined index: id in C:\www\registrazione\accountattivati.php on line 3.


  8. #8
    Ovviamente hai lasciato 'nome del campo nel form' come chiave dell'array $_POST
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    12
    No assolutamente, scusate la citazione, ho messo echo $_POST['id'];

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    12
    Ho risolto! Posto per completezza, così magari sarà di aiuto a qualcun altro. Mancava il name appropriato, oltre che il valore, nel form.
    Grazie per la pazienza.

    <form method="POST" action="accountattivati.php">
    <input type="checkbox" name="id" value="<?php echo $id;?>">
    <input type="submit" name="Apply" value="Attiva">
    </form>

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.