Trooper
|
[AJUDA] Codigo PHP / MySQL
13-09-07, 11:48
#1
Amigos, estou com a seguinte dúvida, sou iniciante em php ainda e enfrento o seguinte problema em meu codigo, exclui.php é responsável por excluir um cadastro na em uma tabela no banco de dados, exclui.php é ativado mediante um botão que fica na apresentação dessa tabela ao usuário. O problema é o seguinte, se eu mando excluir, e aperto a tecla F5, mysql_fetch_array($result) vai para array seguinte, repetindo assim a operação e excluindo o proximo cadastro. Não quero que isso aconteça, quero que ele exclua somente o cadastro da Linha e saia fora, não permita que o F5 pule para o proximo cadastro.
Code:
/* exclui.php */ <?php include 'consulta.php'; $host="localhost"; $user="root"; $res= mysql_connect("$host","$user"); if($res){ $sql = "delete from cadfun where codfun = '$bola_da_vez'"; mysql_db_query("virtual","$sql", $res); } ?> Code:
/*consulta.php */ <?php mysql_connect("localhost","root"); mysql_select_db("virtual"); $query = "select * from cadfun"; $result = mysql_query($query); echo("<h1>Consulta de Registros</h1> <table border > <tr> <th width=30>Nº</th> <th width=150>Nome</th> <th width=2>Setor</th> <th width=150>Função</th> <th width=120>Salário</th> <th width=100 colspan=2>Ação</th> </tr> "); while($cadfun_row = mysql_fetch_array($result)) { $bola_da_vez=$cadfun_row[0]; echo("<tr> <td align=center>$cadfun_row[0]</td> <td>$cadfun_row[1]</td> <td align=center>$cadfun_row[2]</td> <td>$cadfun_row[3]</td> <td>R$ $cadfun_row[4]</td> <td> <form method=POST action=exclui.php > <input type=submit value=excluir></form></td> <td> <form method=POST action=altera.php > <input type=submit value=alterar></form></td> </tr>"); } echo("</table>"); ?> Last edited by CroNicaL; 13-09-07 at 11:57.. |
||||
Trooper
|
13-09-07, 12:01
#2
Mais direto: Se o usuário apertar F5 várias vezes ele exclui a tabela toda hehe.
|
Trooper
|
13-09-07, 12:40
#3
Antes de excluir pede uma confirmação:
Deseja mesmo excluir? S/N Ja fica menos perigoso. Agora tu vai ter que tratar direito isso, de maneira que tu passe exatamente a posição da tabela que tu quer excluir. Aí se ele der um reload vai retornar erro, porque ja foi excluído |
Trooper
|
13-09-07, 13:12
#4
Hm, boa ,vou tentar bolar alguma coisa do tipo.
|
Trooper
|
13-09-07, 13:19
#5
Cria um input hidden com valor 1 dentro do form que exclui
na tela de excluir ele deve detectar se o valor daquela variavel é 1 antes de executar qq coisa assim que executar o comando de apagar, a variavel usada para flag deve perder o valor se o usuario der f5. nada acontecerá pois a variavel postada perde o valor Passar o valor da bola que deve ser exluida, gravando num input hidden tb ajuda Cron ¬¬ |
Trooper
|
13-09-07, 16:10
#6
o que o shellder disse parece q funcionaria... só nao estou conseguindo imaginar como o exclui.php iria alterar o valor do hidden depois de excluir o registro.
eu sei fazer isso com javascript: document.form1.campohidden.value = 0; outra alternativa é, antes de fazer o DELETE, vc fazer um SELECT para saber se o que voce esta querendo deletar, se encontra no banco. Se nao se encontra, é pq ja foi deletado. uma outra alternativa é depois que excluir o registro, na ultima linha do exclui.php, vc incluir um comando header("Location: ... ") que encaminha o seu browser para outra página. Assim a pessoa não vai ter como apertar f5, para fazer duas vezes ela teria q apertar VOLTAR depois f5, entendeu? pois já estaria em outra página. Essa outra página para onde será encaminhada, pode ser aquela de onde veio mesmo, com algum parâmetro que fizesse escrever na tela: "REGISTRO EXCLUIDO" Deu para entender ou fui muito confuso? |
Unbreakable
|
13-09-07, 16:33
#7
taca um javascript ae
deseja deletar realmente? IF resposta == sim header go exclui.php?id=X exclui.php == delete * from tabela where id= $_GET['id'] javascript: alert("valor deletado"); <? header go pagina.php ?> ou então javascript:go('index.php'); |
The Alpha Male
|
13-09-07, 16:34
#8
gambiarras detected
|
Master Chief
|
13-09-07, 16:43
#9
bomba phd em programacao
|
The Alpha Male
|
13-09-07, 16:59
#10
Quote:
um macaco consegue programar... eu faço coisas mais elaboradas |
|
Trooper
|
13-09-07, 17:51
#11
Quote:
Já que vc diz que programa tão bem, que tal ajudar o Cron compartilhando seu código, num caso tão simples como esse? Ele está começando na área, e é sempre bom incentivar. Abraço! |
|
Unbreakable
|
13-09-07, 17:55
#12
ASPeiros
|
The Alpha Male
|
13-09-07, 17:57
#13
Quote:
estou rindo de algumas solucoes imbecis nesse topico |
|
Trooper
|
13-09-07, 18:01
#14
Quote:
|
|
Trooper
|
13-09-07, 18:04
#15
Valeu ai pessoal , ainda não consegui resolver o problema, vou tentar mais atentamente quando chegar em casa.
|
Trooper
|
13-09-07, 18:27
#16
Quote:
btw, 22 anos muito bem vividos. seu merda. |
|
Trooper
|
13-09-07, 18:28
#17
calma Regis hehawuhawuhaw
|
Trooper
|
13-09-07, 19:56
#19
tu programa em que bombastic?
|
The Alpha Male
|
13-09-07, 21:45
#21
Quote:
Quote:
|
||
Trooper
|
13-09-07, 21:57
#22
gambiarras nao...
adequacoes tecnicas! |
Trooper
|
13-09-07, 23:23
#23
Porra, ninguem sacou que eu citei um jargão Punkcoriano?
|
inativo
|
13-09-07, 23:34
#24
quando eu sou obrigado a usar PHP, sempre uso o CakePHP
give it a try ;O |
|
|