pemoamsi 0 Posted November 15, 2011 Report Share Posted November 15, 2011 Pretendo actualizar o preço de produtos na base de dados, mas infelizmente parece que algo está a encravar isto e imprime a mensagem como se estivesse a enviar tudo direito. Formulário <form id="submit1" method="post"> <span class="small">Nome do produto</span> <select name="nome1"> <option value=""> --- </option> <?php $result = mysql_query("SELECT * FROM produto"); while ($db_field = mysql_fetch_assoc($result)) { print "<option value=\""; print $db_field['id']; print "\">"; print $db_field['nome']; print "</option>";} print "</select>"; ?> </select><br /><br /> <span class="small">Preço do produto</span> <input type="text" name="preco1" id="preco1" /><br /><br /> </div> <div align="right"> <button type="submit" name="submit1" style="font-size: 14;">Submeter</button><br /><br /> </div> </form> Base de dados if (isset($_POST['submit1'])) { $id1 = $_POST['id']; $nome1 = $_POST['nome1']; $preco1 = $_POST['preco1']; if ($nome1 != NULL){ echo "<div>" . $row['preco1'] . "</div>"; echo "<div>" . $row['nome1'] . "</div>"; echo "<div>" . $row['id'] . "</div>"; mysql_query("UPDATE produto SET preco=$preco1 WHERE nome=$nome1"); } } Link to post Share on other sites
HappyHippyHippo 1,162 Posted November 15, 2011 Report Share Posted November 15, 2011 sem ver nada do código não parece que esteja a criar o comando SQL correcto: mysql_query("UPDATE produto SET preco=$preco1 WHERE nome=$nome1"); que deve ficar: UPDATE produto SET preco=12345 WHERE nome=nome do produto deveria ser: mysql_query("UPDATE produto SET preco=$preco1 WHERE nome='$nome1'"); ficando: UPDATE produto SET preco=12345 WHERE nome='nome do produto' para não dizer que bem podias por as clicas no preço sem problemas nenhum também IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to post Share on other sites
pmg 85 Posted November 15, 2011 Report Share Posted November 15, 2011 Atenção às injecções de SQL update produto set preco=12345 where nome='hamburgur do Mc'Donalds' ou até update produto set preco=0 where nome='bobby tables' or 1=1 --' What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código! Link to post Share on other sites
pemoamsi 0 Posted November 25, 2011 Author Report Share Posted November 25, 2011 Continuo com problemas... :\ <?php include("autentication.php"); $result = mysql_query("SELECT * FROM produto"); ?> <div> <div> <div class="titulo">Nova compra</div> <div class="actualizar"> <br /> <form id="submit1" method="post"> <span class="small">Nome do produto</span> <select name="nome1"> <option value=""> --- </option> <?php $result = mysql_query("SELECT * FROM produto"); while ($db_field = mysql_fetch_assoc($result)) { print "<option value=\""; print $db_field['id']; print "\">"; print $db_field['nome']; print "</option>";} print "</select>"; ?> </select><br /><br /> <span class="small">Preço do produto</span> <input type="text" name="preco1" id="preco1" /><br /><br /> </div> <div align="right"> <button type="submit" name="submit1" style="font-size: 14;">Submeter</button><br /><br /> </div> </form> </div> </div> </div> <?php if (isset($_POST['submit1'])) { $id1 = $_POST['id']; $nome1 = $_POST['nome1']; $preco1 = $_POST['preco1']; if ($nome1 != NULL){ echo "<div>" . $row['preco1'] . "</div>"; echo "<div>" . $row['nome1'] . "</div>"; echo "<div>" . $row['id'] . "</div>"; mysql_query("UPDATE produto SET preco =$preco1 WHERE nome = '$nome1'"); } } ?> Link to post Share on other sites
pemoamsi 0 Posted November 25, 2011 Author Report Share Posted November 25, 2011 Resolvido Obrigado Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now