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>';
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>';
ha ragione clasku altimenti come fai a sapere a chi devi aumentarlo?
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
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
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).
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="get">
<input type="hidden" name="id" value="' . $row['id'] . '">
<input name="button3" type="submit" value="Vota" class="button3" />
</form>
</td>';
Sto uscendo fuori di testaCodice 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])){
![]()
avevo fatto un errore di battitura if ( isset($_GET['id']) )
ma se provi a fare un echo di $id cosa ti viene fuori?
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)
si giusto non avevo notato ma quello è un errore gia precedente non ho toccato quella query
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![]()