Ir para conteúdo

POWERED BY:

Arquivado

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

fabiossmn

[Resolvido] While fica repetindo infinitamente no IE

Recommended Posts

<?php 

	$res1 = mysql_connect("localhost", "root", "" ) or die( 'Erro na conexão' );
		    mysql_select_db("banco") or die( 'Erro na seleção do banco' );

$de = $_POST['de'];
$assunto = $_POST['assunto'];
$codigo = $_POST['msg'];

$sql = mysql_query("SELECT * FROM info");
while($linha = mysql_fetch_array($sql){
	$nome = $linha['nome'];
	$email = $linha['email'];
	$msg = "$codigo";



	$cabecalho = "MIME-Version: 1.0\r\n";
	$cabecalho = "Content-type: image/jpeg\r\n";
	$cabecalho = "Content-type: text/html; charset=iso-8859-1\r\n";
	$cabecalho = "From: $de";
	$cabecalho = "$nome";
	mail("$email", "$assunto", $msg, $cabecalho);



	}
echo "<meta http-equiv=refresh content='0; mandar_email.php'>
				<script type=\"text/javascript\">
				alert(\"Sucesso!\");
				</script>";
?>

este codigo fica rodando no IE, e nao para mais e fica cadastrando nada direto, alguém sabe me dizer porque?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem um erro de sintaxe ali:

 

$sql = mysql_query("SELECT * FROM info");
       while($linha = mysql_fetch_array($sql)){ //faltou fechar um parentese aqui
               $nome = $linha['nome'];
               $email = $linha['email'];
               $msg = "$codigo";



               $cabecalho = "MIME-Version: 1.0\r\n";
               $cabecalho = "Content-type: image/jpeg\r\n";
               $cabecalho = "Content-type: text/html; charset=iso-8859-1\r\n";
               $cabecalho = "From: $de";
               $cabecalho = "$nome";
               mail("$email", "$assunto", $msg, $cabecalho);



               }

 

fassa assim:

 

$sql = mysql_query("SELECT * FROM info");

$linha = mysql_fetch_array($sql)

       foreach($linha){
               $nome = $linha['nome'];
               $email = $linha['email'];
               $msg = "$codigo";



               $cabecalho = "MIME-Version: 1.0\r\n";
               $cabecalho = "Content-type: image/jpeg\r\n";
               $cabecalho = "Content-type: text/html; charset=iso-8859-1\r\n";
               $cabecalho = "From: $de";
               $cabecalho = "$nome";
               mail("$email", "$assunto", $msg, $cabecalho);



               }

 

foeach e uma função para ler um vetor.

qdo o vetor acabar ele sai do laço de repetição...

Compartilhar este post


Link para o post
Compartilhar em outros sites

:(

desculpaa, eu mandei o codigo errado, mais obrigado por me ajudar

<?php

$nome = $_POST['nome'];
$email = $_POST['email'];

$res1 = mysql_connect("localhost", "root", "" ) or die( 'Erro na conexão' );
		mysql_select_db("banco") or die( 'Erro na seleção do banco' );
if ($res1)
{
	$sql = "INSERT INTO info (nome, email)  VALUES ('$nome', '$email')";
	mysql_select_db("banco");
	$res2 = mysql_query("$sql");
	if ($res2)
	{ 
		echo("<meta http-equiv=refresh content='0; index.php'>
			  <script type=\"text/javascript\">
			  alert(\"E-mail cadastrado com Sucesso\");
			  </script>");
	}else
	{ 
		echo("Erro na inclusão ".mysql_error()." ");
	}
}else
{
	echo("Erro na tentativa de conexão ".mysql_error()." "); 
}
mysql_close($res1);		

?>

esse é o certo, e agora o que faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ixi ps é agora que você falou eu vi que nao tem, é que o javascprit no IE fica informando que o email foi cadastrado e fica fazendo como se fosse um while

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais o JS ta certo o que errado é o cadastro ali, ele meio que faz um while sem while, pq ele fica assim:

cadastrou > mostrou msg. cadastrou > mostrou img....e nao para mais,

nao sei pq isso so acontece no IE !

algo que ajude?

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse arquivo q você postou, que é o index.php ?

 

você ta fazendo um loop infinito com o teu refresh, se for:

<meta http-equiv=refresh content='0; index.php'>

 

entra nele, faz refresh, entra nele faz refresh..

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse arquivo q você postou, que é o index.php ?

 

você ta fazendo um loop infinito com o teu refresh, se for:

<meta http-equiv=refresh content='0; index.php'>

 

entra nele, faz refresh, entra nele faz refresh..

 

nao, na index tem um form que manda pra essa pagina que dps faz voltar pra index dinovo

agora nao sei pq ta fazendo isso, se nem while a pagina tem ;S

Compartilhar este post


Link para o post
Compartilhar em outros sites

Okay.. pega esse trecho aqui:

 

                        echo("<meta http-equiv=refresh content='0; index.php'>
                                 <script type=\"text/javascript\">
                                 alert(\"E-mail cadastrado com Sucesso\");
                                 </script>");

e troca por:

 

echo '<meta http-equiv="refresh" content="0; index.php">
<script type="text/javascript">alert("E-mail cadastrado com Sucesso");</script>';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi cara.

 

'ali' onde ?

errado oque ?

função mail() cadê ?

 

como é o action do teu form que fica na index ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi cara.

 

'ali' onde ?

errado oque ?

função mail() cadê ?

 

como é o action do teu form que fica na index ?

ali no codigo, é que quando vai colocar lá ele fica em texto e aparece em azul a funcao mail,

 

é que meu form é de uma newsltter, por isso que o form esta ali

Compartilhar este post


Link para o post
Compartilhar em outros sites

? poste o arquivo completo, e diga qual o nome dele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

enviar_info.php < onde insere o nome e email do usuario no banco, para pegar dps para enviar os informativos...

 

<?php

			mysql_connect("localhost", "root", "" ) or die( 'Erro na conexão' );
			mysql_select_db("banco") or die( 'Erro na seleção do banco' );			

			$sql = mysql_query("SELECT MAX(id)+1 AS id FROM info");
			while($linha = mysql_fetch_array($sql))
			{
				$codigoimg = $linha['id'];
			}

				$nome = $_POST['nome'];
				$email = $_POST['email'];



			$res1 = mysql_connect("localhost", "root", "" ) or die( 'Erro na conexão' );
			mysql_select_db("banco") or die( 'Erro na seleção do banco' );

			if ($res1)
			{
				$sql = mysql_query("INSERT INTO info (nome, email)  VALUES ('$nome', '$email')");

			$res2 = $sql;

			if ($res2)
			{
				echo '<meta http-equiv="refresh" content="0; index.php">
<script type="text/javascript">alert("E-mail cadastrado com Sucesso");</script>';
			}else{ 
				echo '<meta http-equiv="refresh" content="0; index.php">
<script type="text/javascript">alert("E-mail cadastrado com Sucesso");</script>'; }
			}else{ 
				echo '<meta http-equiv="refresh" content="0; index.php">
<script type="text/javascript">alert("E-mail cadastrado com Sucesso");</script>';
			}
			mysql_close($res1);

 

form da index.php

<form name="info" id="informativo" method="post" action="enviar_info.php"> 
       <table border="0">
 <tr>
   <td width="194"><input class="input_info" id="name" name="nome" type="text" value="Digite seu NOME" onFocus="if(this.value=='Digite seu NOME')this.value = '';" onBlur="if(this.value=='') this.value = 'Digite seu NOME';"/></td>
   <td width="32"></td>
   </tr>
 <tr>
   <td><input class="input_info2" id="email" name="email" type="text" value="Digite seu E-MAIL" onFocus="if(this.value=='Digite seu E-MAIL')this.value = '';" onBlur="if(this.value=='') this.value = 'Digite seu E-MAIL';" /></td>
   <td><input type="submit" class="enviar" value="" /></td>
   </tr>
</table>
</form> 

*Observaçao: so fica dando esse "loop" so no Internet Explorer :@

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha cara... isolei teu código:

 

index.php

<form name="info" id="informativo" method="post" action="enviar_info.php"> 
<table border="0">
	<tr>
		<td width="194"><input class="input_info" id="name" name="nome" type="text" value="Digite seu NOME" onFocus="if(this.value=='Digite seu NOME')this.value = '';" onBlur="if(this.value=='') this.value = 'Digite seu NOME';"/></td>
		<td width="32"></td>
	</tr>
	<tr>
		<td><input class="input_info2" id="email" name="email" type="text" value="Digite seu E-MAIL" onFocus="if(this.value=='Digite seu E-MAIL')this.value = '';" onBlur="if(this.value=='') this.value = 'Digite seu E-MAIL';" /></td>
		<td><input type="submit" class="enviar" value="" /></td>
	</tr>
</table>
</form> 

 

envia_info.php

<?php

$res2 = true;
if( $res2 )
{
	echo '<meta http-equiv="refresh" content="0; index.php"><script type="text/javascript">alert("E-mail cadastrado com Sucesso");</script>';
}
else
{ 
	echo '<meta http-equiv="refresh" content="0; index.php"><script type="text/javascript">alert("E-mail cadastrado com Sucesso");</script>';
}

 

não acontece o problema. Ou seja, não tem nada de errado neste trecho.

Você provavelmente ocultou algum detalhe.

 

 

bom dia, porfavor me ajudem, ontem eu fui pra casa, acabou o serviço, e ae o que ta acontecendo com este codigo?

 

Não faça 'PostUp', e não faça um post sem conteúdo relevante ao tópico.

Atenção às regras de SPAM: http://forum.imasters.com.br/index.php?app=core&module=help

 

apenas aguarde que alguém lhe ajude, e continue pesquisando, você pode muito bem achar a solução por você mesmo.

Discutimos no fórum, mas aqui ninguém tem obrigação de resolver os teus problemas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bacana, parabéns.

E como foi ?

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.