Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 23
  1. #11
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    devi metterci un campo hidden con il valore che ti serve
    Codice PHP:
    echo '<td><form method="get">
    <input type="hidden" name="id" value="' 
    $row['id'] . '">
    <input name="button3" type="submit" value="Vota" class="button3" />
    </form>
    </td>'


  2. #12
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782
    ha ragione clasku altimenti come fai a sapere a chi devi aumentarlo?

  3. #13
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    14
    Quote Originariamente inviata da clasku Visualizza il messaggio
    devi metterci un campo hidden con il valore che ti serve
    Codice PHP:
    echo '<td><form method="get">
    <input type="hidden" name="id" value="' 
    $row['id'] . '">
    <input name="button3" type="submit" value="Vota" class="button3" />
    </form>
    </td>'

    Scusami ma sono davvero un novellino col php e non ho capito cosa intendi per "valore che ti serve".

  4. #14
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    nel campo input hidden, seconda riga del codice che ti ho postato, devi mettere il valore dell'id che andrai a recuperare per continuare con il tuo programma

    metterlo nel submit non serve a nulla

    edit
    un suggerimento... userei il POST invece che il GET come method del form
    Ultima modifica di clasku; 24-07-2014 a 12:48

  5. #15
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782
    il tuo echo deve diventare come quello che ti ha postato clasku altrimenti al momento non stai passando niente alla pagina che effettua l'update dei voti.

    Quel $row['id'] ti serve nella query per capire a chi devi aggiungere un voto e per farlo devi usare il campo nascosto come suggerito da clasku oppure dovresti cambiare totalmente approccio e richiamare quella pagina in ajax (credo) però eviterei al momento e continuerei su questa strada

    EDIT: con iltuo codice, prova a stampare $id e vedrai subito che ti manca qualcosa xD

    EDIT x 2: stai utilizzando solo quel codice oppure ci sono pezzi che non vediamo?

    codice:
    <?php$con=mysqli_connect("localhost","bla","bla","bla");
    if (mysqli_connect_errno()) 
     {  
    echo "Failed to connect to MySQL: " . mysqli_connect_error();  
    }
    $result = mysqli_query($con,"SELECT * FROM proposte_utenti where id_disc = '$id_disc'");
    
    Da dove prendi $id_disc?
    
    
    
    echo "<table class='CSSTableGenerator'>
    <tr>
    <td WIDTH ='50px'>Nickname</td>
    <td WIDTH ='130px'>Proposta</td>
    <td WIDTH ='50px'>Tot. Voti</td>
    <td WIDTH ='50px'>Vota</td>
    </tr>";
    while($row = mysqli_fetch_array($result)) 
     {  
    echo "<tr>";  echo "<td WIDTH ='40px' >" . $row['nickname'] . "</td>";
     echo "<td height ='10px' >" . $row['proposta'] . "</td>";
     echo "<td >" . $row['Voti'] . "</td>";
    echo '<td><form method="get"><input name="button3" type="submit" id="' . $row['id'] . '" value="Vota" class="button3" /></form></td>';    }echo "</table>";
    --> if(isset($_get['button3']))  non serve piu modifica come sotto <--
    
    if(isset($_GET['id']
    {
    $id = $_get['id'];
    $result = mysql_query("update proposte_utenti set Voti = voti + 1 WHERE id=$id");
    echo "<br><p style='text-align: center;'><span style='font-size: medium; font-family: tahoma; color: red;'> Grazie per il tuo voto. </span></p> </br>";
    
    }
    ?>
    Ultima modifica di joker06; 24-07-2014 a 12:56

  6. #16
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    14
    Quote Originariamente inviata da joker06 Visualizza il messaggio
    il tuo echo deve diventare come quello che ti ha postato clasku altrimenti al momento non stai passando niente alla pagina che effettua l'update dei voti.

    Quel $row['id'] ti serve nella query per capire a chi devi aggiungere un voto e per farlo devi usare il campo nascosto come suggerito da clasku oppure dovresti cambiare totalmente approccio e richiamare quella pagina in ajax (credo) però eviterei al momento e continuerei su questa strada

    EDIT: con iltuo codice, prova a stampare $id e vedrai subito che ti manca qualcosa xD

    EDIT x 2: stai utilizzando solo quel codice oppure ci sono pezzi che non vediamo?

    codice:
    <?php$con=mysqli_connect("localhost","bla","bla","bla");
    if (mysqli_connect_errno()) 
     {  
    echo "Failed to connect to MySQL: " . mysqli_connect_error();  
    }
    $result = mysqli_query($con,"SELECT * FROM proposte_utenti where id_disc = '$id_disc'");
    
    Da dove prendi $id_disc?
    
    
    
    echo "<table class='CSSTableGenerator'>
    <tr>
    <td WIDTH ='50px'>Nickname</td>
    <td WIDTH ='130px'>Proposta</td>
    <td WIDTH ='50px'>Tot. Voti</td>
    <td WIDTH ='50px'>Vota</td>
    </tr>";
    while($row = mysqli_fetch_array($result)) 
     {  
    echo "<tr>";  echo "<td WIDTH ='40px' >" . $row['nickname'] . "</td>";
     echo "<td height ='10px' >" . $row['proposta'] . "</td>";
     echo "<td >" . $row['Voti'] . "</td>";
    echo '<td><form method="get"><input name="button3" type="submit" id="' . $row['id'] . '" value="Vota" class="button3" /></form></td>';    }echo "</table>";
    --> if(isset($_get['button3']))  non serve piu modifica come sotto <--
    
    if(isset($_GET['id']
    {
    $id = $_get['id'];
    $result = mysql_query("update proposte_utenti set Voti = voti + 1 WHERE id=$id");
    echo "<br><p style='text-align: center;'><span style='font-size: medium; font-family: tahoma; color: red;'> Grazie per il tuo voto. </span></p> </br>";
    
    }
    ?>
    Purtroppo così non funziona, restituisce una pagina vuota. Comunque esiste un'altra parte di codice che è quella dell'inserimento delle proposte nella discussione (id_disc sarebbe l'id della discussione).


    Codice PHP:
    echo '<td><form method="get">
    <input type="hidden" name="id" value="' 
    $row['id'] . '">
    <input name="button3" type="submit" value="Vota" class="button3" />
    </form>
    </td>'

    provando così e cambiando i get con i post, cliccando il pulsante fa soltanto un refresh nella pagina, non aggiunge un voto e non compare l'echo "grazie per il tuo voto"

    Codice PHP:
    echo '<td><form method="post">
    <input type="hidden" name="id_proposta" value="' 
    $row['id'] . '">
    <input name="button3" type="submit" value="Vota" class="button3" /></form></td>'

     }
    echo 
    "</table>";
    if(isset(
    $_post['id_proposta])){ 
    Sto uscendo fuori di testa

  7. #17
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782
    avevo fatto un errore di battitura if ( isset($_GET['id']) )

    ma se provi a fare un echo di $id cosa ti viene fuori?

  8. #18
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ryuhoshi, quando sei in fase di sviluppo abilita la visualizzazione di tutti gli errori PHP
    l'errore nel codice di joker06 l'avresti notato subito a schermo

    attenzione, poi, ad usare sempre le stesse funzioni: sempre nel codice di joker06, la query di update usa mysql_query invece di mysqli_query (sicuramente un errore di battitura)

  9. #19
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782
    si giusto non avevo notato ma quello è un errore gia precedente non ho toccato quella query

  10. #20
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    tranquillo, l'ho notato per puro caso
    volevo solo evitargli altri impazzimenti: se non abilita la visualizzazione degli errori sarà alquanto difficile che si accorga di errorini come quelli

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.