Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Micilini Roll

[Resolvido] Comando nao funciona no IE

Recommended Posts

eu tenho este formulario aqui:

 

<form action="compra.php?p=del&id=<? echo $id_produto ?>" method="post">
<table width="902" border="0">
 <tr>
   <td width="76"> </td>
   <td width="307">Nome:</td>
   <td width="73">Info:</td>
   <td width="65">QTD</td>
   <td width="127">Preço da unidade</td>
   <th width="83">Total</th>
   <td width="53"> </td>
   <td width="84"> </td>
   </tr>
 <tr>
   <td><img src="<? echo $foto_produto ?>" width="39" height="55" /></td>
   <td><a href="javascript:abrir('<? echo $foto_produto ?>');"><? echo $nome_produto ?></a></td>
   <th><a href="<? echo $info ?>" target="_blank"><img style="border:0px;"  src="info.png"   width="42" height="42" /></a></th>
   <td><input name="numero" type="text" id="numero" value="<? echo $quantidade ?>" size="5" /></td>
   <th>R$ <? echo $unidade ?></th>
   <th>R$ <? echo $totals ?></th>
   <th>
     <input name="op" id="op" src="close.png" width="22" height="22" type="image" value="deleta"  />
   </th>
   <th><input name="op" id="op" src="atualizar.png"  type="image" width="80" height="36" value="atualiza"  /></th>
   </tr>
</table>
</form>

 

 

e este codigo aqui :

 

 

<?php
if($_GET['p'] == "del"){
$idt = $_GET['id'];
$valor = $_POST['numero'];
$escolha = $_POST['op'];
   $numero = $_POST['numero'];


   if($escolha == $atu){


	$adm = "adm";
$normal = "normal";
if($tipo != $adm){

$select = mysql_query("SELECT * FROM produtos WHERE id='$idt'");
while($linha = mysql_fetch_array($select)){
$foto = $linha['foto'];
$descricao = $linha['descricao'];
$preco = $linha['preco'];
$op1 = $linha['op1'];
$op2 = $linha['op2'];
$op3 = $linha['op3'];
$op4 = $linha['op4'];
$op5 = $linha['op5'];
$p1 = $linha['p1'];
$p2 = $linha['p2'];
$p3 = $linha['p3'];
$p4 = $linha['p4'];
$p5 = $linha['p5'];
}


$op1m = $op1;
$op1m--;
$op2m = $op2;
$op2m--;
$op3m = $op3;
$op3m--;
$op4m = $op4;
$op4m--;
$op5m = $op5;
$op5m--;
if($numero <= $op1m){

 $a = $valor * $preco;
try{
	$pdo = new PDO("mysql:host=localhost;dbname=", "", "" );

	$update= $pdo->prepare("UPDATE carrinho SET quantidade = :q, total = :t, unidade = :P WHERE id_user = $id_user && id_produto = $idt");
       $update->bindValue(":q",$valor);
	$update->bindValue(":t",$a);
	$update->bindValue(":P",$preco);
	$update->execute();
	}catch ( PDOException $e ) {
   echo $e->getMessage ();
}
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=compra.php'>";
}
if($numero >= $op1 && $numero <= $op2m){
$b = $valor * $p1;
try{
	$pdo = new PDO("mysql:host=localhost;dbname=", "", “" );

	$update= $pdo->prepare("UPDATE carrinho SET quantidade = :q, total = :t, unidade = :P WHERE id_user = $id_user && id_produto = $idt");
       $update->bindValue(":q",$valor);
	$update->bindValue(":t",$B);
	$update->bindValue(":P",$p1);
	$update->execute();
	}catch ( PDOException $e ) {
   echo $e->getMessage ();

}
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=compra.php'>";
}

if($numero >= $op2 && $numero <= $op3m){
$c = $valor * $p2;
try{
	$pdo = new PDO("mysql:host=localhost;dbname=", "", "" );

	$update= $pdo->prepare("UPDATE carrinho SET quantidade = :q, total = :t, unidade = :P WHERE id_user = $id_user && id_produto = $idt");
       $update->bindValue(":q",$valor);
	$update->bindValue(":t",$c);
	$update->bindValue(":P",$p2);
	$update->execute();
	}catch ( PDOException $e ) {
   echo $e->getMessage ();
}
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=compra.php'>";
}
if($numero >= $op3 && $numero <= $op4m){
$d = $valor * $p3;
try{
	$pdo = new PDO("mysql:host=localhost;dbname=", "", "" );

	$update= $pdo->prepare("UPDATE carrinho SET quantidade = :q, total = :t, unidade = :P WHERE id_user = $id_user && id_produto = $idt");
       $update->bindValue(":q",$valor);
	$update->bindValue(":t",$d);
	$update->bindValue(":P",$p3);
	$update->execute();
	}catch ( PDOException $e ) {
   echo $e->getMessage ();
}
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=compra.php'>";
}
if($numero >= $op4 && $numero <= $op5m){
$t = $valor * $p4;
try{
	$pdo = new PDO("mysql:host=localhost;dbname=", "",”" );

	$update= $pdo->prepare("UPDATE carrinho SET quantidade = :q, total = :t, unidade = :P WHERE id_user = $id_user && id_produto = $idt");
       $update->bindValue(":q",$valor);
	$update->bindValue(":t",$t);
	$update->bindValue(":P",$p4);
	$update->execute();
	}catch ( PDOException $e ) {
   echo $e->getMessage ();
}
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=compra.php'>";
}
if($numero >= $op5){
$f = $valor * $p5;

try{
	$pdo = new PDO("mysql:host=localhost;dbname=", "", "" );

	$update= $pdo->prepare("UPDATE carrinho SET quantidade = :q, total = :t, unidade = :P WHERE id_user = $id_user && id_produto = $idt");
       $update->bindValue(":q",$valor);
	$update->bindValue(":t",$f);
	$update->bindValue(":P",$p5);
	$update->execute();
	}catch ( PDOException $e ) {
   echo $e->getMessage ();
}
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=compra.php'>";
}
}else{

$select = mysql_query("SELECT * FROM produtos_adm WHERE id='$idt'");
while($linha = mysql_fetch_array($select)){
$foto = $linha['foto'];
$descricao = $linha['descricao'];
$preco = $linha['preco'];
$op1 = $linha['op1'];
$op2 = $linha['op2'];
$op3 = $linha['op3'];
$op4 = $linha['op4'];
$op5 = $linha['op5'];
$p1 = $linha['p1'];
$p2 = $linha['p2'];
$p3 = $linha['p3'];
$p4 = $linha['p4'];
$p5 = $linha['p5'];
}


$op1m = $op1;
$op1m--;
$op2m = $op2;
$op2m--;
$op3m = $op3;
$op3m--;
$op4m = $op4;
$op4m--;
$op5m = $op5;
$op5m--;
if($numero <= $op1m){

 $a = $valor * $preco;
try{
	$pdo = new PDO("mysql:host=localhost;dbname=", "", “" );

	$update= $pdo->prepare("UPDATE carrinho SET quantidade = :q, total = :t, unidade = :P WHERE id_user = $id_user && id_produto = $idt");
       $update->bindValue(":q",$valor);
	$update->bindValue(":t",$a);
	$update->bindValue(":P",$preco);
	$update->execute();
	}catch ( PDOException $e ) {
   echo $e->getMessage ();
}
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=compra.php'>";
}
if($numero >= $op1 && $numero <= $op2m){
$b = $valor * $p1;
try{
	$pdo = new PDO("mysql:host=localhost;dbname=", "", “" );

	$update= $pdo->prepare("UPDATE carrinho SET quantidade = :q, total = :t, unidade = :P WHERE id_user = $id_user && id_produto = $idt");
       $update->bindValue(":q",$valor);
	$update->bindValue(":t",$B);
	$update->bindValue(":P",$p1);
	$update->execute();
	}catch ( PDOException $e ) {
   echo $e->getMessage ();

}
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=compra.php'>";
}

if($numero >= $op2 && $numero <= $op3m){
$c = $valor * $p2;
try{
	$pdo = new PDO("mysql:host=localhost;dbname=", "", "" );

	$update= $pdo->prepare("UPDATE carrinho SET quantidade = :q, total = :t, unidade = :P WHERE id_user = $id_user && id_produto = $idt");
       $update->bindValue(":q",$valor);
	$update->bindValue(":t",$c);
	$update->bindValue(":P",$p2);
	$update->execute();
	}catch ( PDOException $e ) {
   echo $e->getMessage ();
}
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=compra.php'>";
}
if($numero >= $op3 && $numero <= $op4m){
$d = $valor * $p3;
try{
	$pdo = new PDO("mysql:host=localhost;dbname=", "", "" );

	$update= $pdo->prepare("UPDATE carrinho SET quantidade = :q, total = :t, unidade = :P WHERE id_user = $id_user && id_produto = $idt");
       $update->bindValue(":q",$valor);
	$update->bindValue(":t",$d);
	$update->bindValue(":P",$p3);
	$update->execute();
	}catch ( PDOException $e ) {
   echo $e->getMessage ();
}
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=compra.php'>";
}
if($numero >= $op4 && $numero <= $op5m){
$t = $valor * $p4;
try{
	$pdo = new PDO("mysql:host=localhost;dbname=", "", “" );

	$update= $pdo->prepare("UPDATE carrinho SET quantidade = :q, total = :t, unidade = :P WHERE id_user = $id_user && id_produto = $idt");
       $update->bindValue(":q",$valor);
	$update->bindValue(":t",$t);
	$update->bindValue(":P",$p4);
	$update->execute();
	}catch ( PDOException $e ) {
   echo $e->getMessage ();
}
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=compra.php'>";
}
if($numero >= $op5){
$f = $valor * $p5;

try{
	$pdo = new PDO("mysql:host=localhost;dbname=", "", "" );

	$update= $pdo->prepare("UPDATE carrinho SET quantidade = :q, total = :t, unidade = :P WHERE id_user = $id_user && id_produto = $idt");
       $update->bindValue(":q",$valor);
	$update->bindValue(":t",$f);
	$update->bindValue(":P",$p5);
	$update->execute();
	}catch ( PDOException $e ) {
   echo $e->getMessage ();
}
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=compra.php'>";
}

}
}

   if($escolha == $del){
try{
$pdo = new PDO("mysql:host=localhost;dbname=", "", “" );
$deletar = $pdo->prepare("DELETE FROM carrinho WHERE id_produto = :u && id_user = :n");
$deletar->bindValue(":u",$idt);
$deletar->bindValue(":n",$id_user);
$deletar->execute();
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=compra.php'>
<script type=\"text/javascript\">
alert(\"O produto foi excluido.\");
</script>";
}catch ( PDOException $e ) {
   echo $e->getMessage ();
}
}
}
?>

 

este comando funciona perfeitamente no safari e no chrome ,só nao funciona no opera,firefox e internet explorer,pq?

Compartilhar este post


Link para o post
Compartilhar em outros sites

defina 'funcionar' e mostre a parte do codigo(função ou bloco) q não retorna o resultado esperado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

a parte que nao funciona é nos comandos:

 

if($escolha == $del){
////
if($escolha == $atu){

 

pareçe-me que estas linhas nao estao obdecendo ao meu comando,mas no chrome elas funcionan!

Compartilhar este post


Link para o post
Compartilhar em outros sites

talvez o ie n interprete direito o input image, uma maneira de contornar isso seria fazer uma em javascript para delete e atualizar.

 

 

 

essa linhas abaixo estão meio estranhas...

$update= $pdo->prepare("UPDATE carrinho SET quantidade = :q, total = :t, unidade = :P/> WHERE id_user = $id_user && id_produto = $idt");

 

$update->bindValue(":t",$B)/>;

 

 

o é esse '/> '?

 

 

a open short tag esta ok?

<form action="compra.php?p=del&id=<? echo $id_produto ?>" method="post">

Compartilhar este post


Link para o post
Compartilhar em outros sites

sera que o ie tem suas exceções?

a MS adora criar padrões proprietarios e mandar goela a baixo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade, o IE não tenta "adivinhar" o que o programador está fazendo. Para o IE existe apenas duas coisas, código certo ou código errado. Não há meio termo. E nenhum código errado poderá ser tratado como um certo. Algo que outros navegadores fazem (não todos os outros é claro), o que é muito ruim, diga-se de passagem.

 

Pra começo, não pode existir dois ID e/ou NAME iguais, veja só:

<input name="op" id="op" src="close.png" width="22" height="22" type="image" value="deleta"  />
<input name="op" id="op" src="atualizar.png"  type="image" width="80" height="36" value="atualiza"  />

 

Caso sejam botões, o que eu imagino, não utilize input com type image. Utilize a tag button, é mais fácil de trabalhar e faz o que é definido, cria um botão.

http://marcomoura.com/2006/10/06/tag-button/

 

Além do mais, em nenhum momento você cria as variáveis $atu e $del. Verifique novamente o código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

as variaveis $atu e $del existem e elas estao la no inicio do codigo na verdade é da seguinte forma:

 

 

se eu clicar em algum dos input acima eu vou pro p=del e la eu pego os valores dos input ai eu faço a verificaçao pois a variavel $escolha esta pegando o valor do botao que foi clicado entende,ai faz a comparaçao se eu cliquei em deletar fazendo o delete ou se eu cliquei em atualizar e faz o update.

 

muito obrigado pela ajuda de todos voces !

 

o que eu fiz com os botoes foram os seguintes:

 

<input name="op" id="op"  width="22" height="22" type="submit" value="deleta"  />
   </th>
   <th><input name="op" id="op" type="submit" width="80" height="36" value="atualiza"  /></th>

 

ai ele funciona,porem gostaria que ficassem as imagens nos botoes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está errado. A tag input com o type image não é nada mais que um input do tipo submit, com a possibilidade de utilizar uma imagem no seu lugar. Além do mais, um form só deve possuir um submit, não há nenhuma necessidade de dois.

 

O PHP não saberá o que está sendo clicado ou não, ele apenas receberá os dados do formulário. Alguns navegadores podem até "mascarar" isso, mas já de cara, seu código não é válido conforme as definições da W3C. E não sendo válido, o IE não tenta interpretá-lo da forma que deveria ser ou como você quer que funcione.

 

Minha sugestão. Utilize um comando javascript no botão de deletar para realizar uma requisição post para alguma página específica, que trate da exclusão do registro.

 

porem gostaria que ficassem as imagens nos botoes.

Como eu já falei anteriormente, utilize a tag button.

http://marcomoura.com/2006/10/06/tag-button/

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok,muito obrigado pela a sua ajuda,na verdade eu segui os passos e ficou assim:

 

<button name="op" id="op" type="submit" value="deleta"><img src="close.png"  width="22" height="22" /></button>
   </th>
   <th> <button name="op" id="op" type="submit"  value="atualiza">Atualizar</button></th>

 

abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.