Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    195

    Cambio valore su pressione di un pulsante

    Salve ragazzi. Sono qui di nuovo a chiedere il vostro aiuto.
    Ho creato un form per la registrazione di tornei. Tutti i dati immessi finiscono in una tabella nel database che viene quindi mostrata all'amministratore in una pagina nascosta. Di default il valore "approvato" di un torneo è impostato su "no". Ora avrei bisogno che questo valore venisse impostato su si alla pressione del tasto conferma unicamente per quel torneo.
    Che codice devo utilizzare?

    Attualmente uso questo:


    Codice PHP:
    <?php
    $res 
    mysql_query("SELECT * NOMETABELLA") or die (mysql_error());

    while (
    $elenco mysql_fetch_assoc($res)) {
    ?>
    <table width="451" cellpadding="1" cellspacing="1" bgcolor="#FFFFFF">
        <tr bgcolor="#000000" class="Didascalia01_bold_bianco">
          <th width="18%" align="left" class="Sottotitolo01_nero"><div align="left" class="Didascalia01_bold_bianco">Nome</div></th>
          <th width="18%" align="left" class="Didascalia01_bold_bianco">Formato</th>
          <th width="21%" align="left" class="Sottotitolo01_nero"><div align="left" class="Didascalia01_bold_bianco">Data e ora </div></th>
          <th width="27%" align="left" class="Sottotitolo01_nero"><div align="left" class="Didascalia01_bold_bianco">Costo d'iscrizione</div></th>
          </tr>
      
      <tr bgcolor="#EEEEEE">
        <td align="left" class="Corpotesto01_norm_nero"><?php echo $elenco['nome']; ?></td>
        <td align="left" class="Corpotesto01_norm_nero"><?php echo $elenco['torneo']; ?></td>
        <td align="left" class="Corpotesto01_norm_nero"><?php echo $elenco['data']; ?> - <?php echo $elenco['orario'];?></td>
        <td align="left" class="Corpotesto01_norm_nero"><?php echo $elenco['costo']; ?></td>
        </tr>
      <tr>
        <td align="left" bgcolor="#000000" class="Didascalia01_bold_bianco">Responsabile</td>
        <td align="left" bgcolor="#EEEEEE" class="Corpotesto01_norm_nero"><?php echo $elenco['responsabile']; ?></td>
        <td align="left" bgcolor="#000000" class="Didascalia01_bold_bianco">Approvato</td>
        <td align="left" bgcolor="#EEEEEE" class="Corpotesto01_norm_nero"><?php echo $elenco['approvato']; ?></td>
        </tr>
      <tr bgcolor="#FFFFFF">
        <td align="left" class="Didascalia01_bold_bianco"><input name="submit" type="submit" value="Approva"></td>
        <td align="left" class="Corpotesto01_norm_nero"></td>
        <td align="left" class="Didascalia01_bold_bianco"></td>
        <td align="left" class="Corpotesto01_norm_nero"></td>
      </tr>
      <?php ?>
      </table>
                      </form>
    L'ideale sarebbe anche che mandasse la mail al responsabile ma questo non è un problema, sò farlo. Chiedo aiuto a voi per il resto. Grazie e a presto.

  2. #2
    Allora se ho ben capito il tuo problema è far sì che, quando un amministratore preme il pulsante "Approva", il campo "Approvato" nel database, riferito al torneo in questione, vada da no a sì.

    Se ho capito bene per fare questo io farei così.

    Metterei il pulsante approva in un modulo che rimanda ad una pagina php (che io ho chiamato approva.php) dove tramite il metodo GET potremo capire quale torneo si interessa approvare.

    Codice PHP:
    <?php
    $res 
    mysql_query("SELECT * NOMETABELLA") or die (mysql_error());

    while (
    $elenco mysql_fetch_assoc($res)) {
    ?> 
    <table width="451" cellpadding="1" cellspacing="1" bgcolor="#FFFFFF">
        <tr bgcolor="#000000" class="Didascalia01_bold_bianco">
          <th width="18%" align="left" class="Sottotitolo01_nero"><div align="left" class="Didascalia01_bold_bianco">Nome</div></th>
          <th width="18%" align="left" class="Didascalia01_bold_bianco">Formato</th>
          <th width="21%" align="left" class="Sottotitolo01_nero"><div align="left" class="Didascalia01_bold_bianco">Data e ora </div></th>
          <th width="27%" align="left" class="Sottotitolo01_nero"><div align="left" class="Didascalia01_bold_bianco">Costo d'iscrizione</div></th>
      </tr>
      
      <tr bgcolor="#EEEEEE">
        <td align="left" class="Corpotesto01_norm_nero"><?php echo $elenco['nome']; ?></td>
        <td align="left" class="Corpotesto01_norm_nero"><?php echo $elenco['torneo']; ?></td>
        <td align="left" class="Corpotesto01_norm_nero"><?php echo $elenco['data']; ?> - <?php echo $elenco['orario'];?></td>
        <td align="left" class="Corpotesto01_norm_nero"><?php echo $elenco['costo']; ?></td>
      </tr>
      <tr>
        <td align="left" bgcolor="#000000" class="Didascalia01_bold_bianco">Responsabile</td>
        <td align="left" bgcolor="#EEEEEE" class="Corpotesto01_norm_nero"><?php echo $elenco['responsabile']; ?></td>
        <td align="left" bgcolor="#000000" class="Didascalia01_bold_bianco">Approvato</td>
        <td align="left" bgcolor="#EEEEEE" class="Corpotesto01_norm_nero"><?php echo $elenco['approvato']; ?></td>
      </tr>
      <tr bgcolor="#FFFFFF">
        <td align="left" class="Didascalia01_bold_bianco"><?php echo "<form id=\"form1\" name=\"form1\" method=\"post\" action=\"approva.php?nome=$elenco['nome'];\">"?>
          <input name="submit" type="submit" value="Approva" />
            </form>    </td>
        <td align="left" class="Corpotesto01_norm_nero"></td>
        <td align="left" class="Didascalia01_bold_bianco"></td>
        <td align="left" class="Corpotesto01_norm_nero"></td>
      </tr> 
    </table>
    Ancor meglio del nome del torneo sarebbe passare l'ID del campo.

    Ora passiamo alla pagina approva.php che si occupa di cambiare il campo del database:

    Codice PHP:
    <?php

    //ricavo il nome del torneo
    $nome $_GET['nome'];

    //uppo il campo approvato nel database

    mysql_query("UPDATE nometabella SET approvato='si' WHERE nome='$nome'");

    ?>

    Ti dico che questo codice andrebbe migliorato, soprattutto per quanto riguarda la sicurezza (chiunque potrebbe scrivere approva.php?nome=pincopallo e approvare così il torneo pincopallo) e non sarebbe neanche male, invece di usare due pagina distinte usarne una sola.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    195
    Mi da un

    codice:
    Parse error: parse error, expecting `','' or `';''
    nella linea:

    Codice PHP:
    <td align="left" class="Didascalia01_bold_bianco"><?php echo "<form id="form1" name="form1" method="post" action="approva.php?nome=$elenco['nome'];">"?>

  4. #4
    Visto che non so bene perchè lo faccia evito l'errore così

    Codice PHP:
    <?php
    $res 
    mysql_query("SELECT * NOMETABELLA") or die (mysql_error());
    $nome $elenco['nome'];

    while (
    $elenco mysql_fetch_assoc($res)) {
    ?>
    <table width="451" cellpadding="1" cellspacing="1" bgcolor="#FFFFFF">
        <tr bgcolor="#000000" class="Didascalia01_bold_bianco">
          <th width="18%" align="left" class="Sottotitolo01_nero"><div align="left" class="Didascalia01_bold_bianco">Nome</div></th>
          <th width="18%" align="left" class="Didascalia01_bold_bianco">Formato</th>
          <th width="21%" align="left" class="Sottotitolo01_nero"><div align="left" class="Didascalia01_bold_bianco">Data e ora </div></th>
          <th width="27%" align="left" class="Sottotitolo01_nero"><div align="left" class="Didascalia01_bold_bianco">Costo d'iscrizione</div></th>
      </tr>
      
      <tr bgcolor="#EEEEEE">
        <td align="left" class="Corpotesto01_norm_nero"><?php echo $elenco['nome']; ?></td>
        <td align="left" class="Corpotesto01_norm_nero"><?php echo $elenco['torneo']; ?></td>
        <td align="left" class="Corpotesto01_norm_nero"><?php echo $elenco['data']; ?> - <?php echo $elenco['orario'];?></td>
        <td align="left" class="Corpotesto01_norm_nero"><?php echo $elenco['costo']; ?></td>
      </tr>
      <tr>
        <td align="left" bgcolor="#000000" class="Didascalia01_bold_bianco">Responsabile</td>
        <td align="left" bgcolor="#EEEEEE" class="Corpotesto01_norm_nero"><?php echo $elenco['responsabile']; ?></td>
        <td align="left" bgcolor="#000000" class="Didascalia01_bold_bianco">Approvato</td>
        <td align="left" bgcolor="#EEEEEE" class="Corpotesto01_norm_nero"><?php echo $elenco['approvato']; ?></td>
      </tr>
      <tr bgcolor="#FFFFFF">
        <td align="left" class="Didascalia01_bold_bianco"><?php echo "<form id=\"form1\" name=\"form1\" method=\"post\" action=\"approva.php?nome=$nome\">"?>
          <input name="submit" type="submit" value="Approva" />
            </form>    </td>
        <td align="left" class="Corpotesto01_norm_nero"></td>
        <td align="left" class="Didascalia01_bold_bianco"></td>
        <td align="left" class="Corpotesto01_norm_nero"></td>
      </tr>
    </table>

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    195
    Di nuovo parse error. Sbaglio qualcosa?

    Codice PHP:
    <td align="left" class="Didascalia01_bold_bianco"><?php echo "<form id="form1" name="form1" method="post" action="ufs_events_approved.php?nome=$nome">"?>

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    195
    risolto ho sostituito " con ' nell'echo ora procedo a testare lo script.

  7. #7
    Dimentichi i \

    Codice PHP:
    <td align="left" class="Didascalia01_bold_bianco"><?php echo "<form id=\"form1\" name=\"form1\" method=\"post\" action=\"ufs_events_approved.php?nome=$nome\">"?>
    EDIT: Temo non funzioni se metti l'apice ( ' ) al posto del doppio apice-virgolette ( " )

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    195
    Ok ho corretto e non c'è più alcun parse error. Però non aggiorna il valore.
    La pagina che si riferisce all'action ha questo codice:

    Codice PHP:
    <?

    include "../vars.php";



    $sqlconnmysql_connect ($dbhost,$dbutente,$dbpass);

    mysql_select_db ($database$sqlconn);


    //ricavo il nome del torneo
    $nome $_GET['nome'];

    //uppo il campo approvato nel database

    mysql_query("UPDATE TOP_ufs_eventi SET approvato='si' WHERE nome='$nome'");
        

    header("Location:ufs_events_admin2.php");



    ?>
    Tuttavia quando nella pagina di amministrazione clicco su "Approva" mi rimanda alla stessa pagina (come dovrebbe fare) ma il valore rimane su "no"

  9. #9
    Guarda ho provato a farlo e con questo codice mi funziona:

    pagina di visualizzazione dei diversi tornei:

    Codice PHP:
    <?php

    $sqlconn
    mysql_connect (host,user,pass);

    mysql_select_db (database$sqlconn); 

    $res mysql_query("SELECT * FROM nometabella") or die (mysql_error());

    while (
    $elenco mysql_fetch_assoc($res)) {
    $nome $elenco['nome'];
    ?>
    <table width="451" cellpadding="1" cellspacing="1" bgcolor="#FFFFFF">
        <tr bgcolor="#000000" class="Didascalia01_bold_bianco">
          <th width="18%" align="left" class="Sottotitolo01_nero"><div align="left" class="Didascalia01_bold_bianco">Nome</div></th>
          <th width="18%" align="left" class="Didascalia01_bold_bianco">Formato</th>
          <th width="21%" align="left" class="Sottotitolo01_nero"><div align="left" class="Didascalia01_bold_bianco">Data e ora </div></th>
          <th width="27%" align="left" class="Sottotitolo01_nero"><div align="left" class="Didascalia01_bold_bianco">Costo d'iscrizione</div></th>
      </tr>
      
      <tr bgcolor="#EEEEEE">
        <td align="left" class="Corpotesto01_norm_nero"><?php echo $elenco['nome']; ?></td>
        <td align="left" class="Corpotesto01_norm_nero"><?php echo $elenco['torneo']; ?></td>
        <td align="left" class="Corpotesto01_norm_nero"><?php echo $elenco['data']; ?> - <?php echo $elenco['orario'];?></td>
        <td align="left" class="Corpotesto01_norm_nero"><?php echo $elenco['costo']; ?></td>
      </tr>
      <tr>
        <td align="left" bgcolor="#000000" class="Didascalia01_bold_bianco">Responsabile</td>
        <td align="left" bgcolor="#EEEEEE" class="Corpotesto01_norm_nero"><?php echo $elenco['responsabile']; ?></td>
        <td align="left" bgcolor="#000000" class="Didascalia01_bold_bianco">Approvato</td>
        <td align="left" bgcolor="#EEEEEE" class="Corpotesto01_norm_nero"><?php echo $elenco['approvato']; ?></td>
      </tr>
      <tr bgcolor="#FFFFFF">
        <td align="left" class="Didascalia01_bold_bianco"><?php echo "<form id=\"form1\" name=\"form1\" method=\"post\" action=\"approva.php?nome=$nome\">"?>
          <input name="submit" type="submit" value="Approva" />
            </form>    </td>
        <td align="left" class="Corpotesto01_norm_nero"></td>
        <td align="left" class="Didascalia01_bold_bianco"></td>
        <td align="left" class="Corpotesto01_norm_nero"></td>
      </tr>
      <?php ?>
      </table>
                      </form>
    approva.php:

    Codice PHP:
    <?php

    $sqlconn
    mysql_connect (host,user,pass);

    mysql_select_db (database$sqlconn); 


    //ricavo il nome del torneo
    $nome $_GET['nome'];

    //uppo il campo approvato nel database

    mysql_query("UPDATE nometabella SET approvato='si' WHERE nome='$nome'");

    ?>

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    195
    Ottimo, ho anche usato gli id questa volta, più comodo. Ti ringrazio molto. Grande!

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.