Ir para conteúdo

POWERED BY:

Arquivado

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

uncl0sed

[Resolvido] Notice: Undefined offset: 3 in C:\Program Files&

Recommended Posts

To começando no php, e tava fazendo uns testes, fazendo algo pra ir pegando o jeito...

Mais me deparei com 1 erro...

 

 

parte do código...

<?php
$emails = $_REQUEST["aenviar"];
$email = explode("\n",$emails);
$i=0;
while ($email[$i]) {  // ESSA É A LINHA QUE DA ERRO!
echo "$email[$i]<br>";
$i++;
}
?>

Ele retorna o $email do jeito que eu quero (1 por linha), mais em baixo ele retorna esse erro:

 

EXEMPLO:

email@mail.com
email2@mail.com
email3@mail.com

Notice: Undefined offset: 3 in C:\Program Files\EasyPHP 2.0b1\www\q.php on line 9

 

Alguma luz?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, já tive este mesmo problema eu um código meu.

 

Comigo era problema no Array.

 

Verifique o q está dentro do REQUEST, pois, se não me engano "Undefined offset: 3 " quer dizer q não existe nada na posição 3 do Array. E pelo q vejo não é pra ter nada mesmo.

 

Pode ser q o Array está sendo criado vazio.

 

Espero poder ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E para fazer isto aqui o for é melhor.

$emails = $_REQUEST["aenviar"];
$email = explode("\n",$emails);
for ($i = 0; $i < count($email); $i++){
	  echo "$email[$i]<br>";
}

Outra coisa, não use $_REQUEST, use $_POST ou $_GET.

 

Referências

 

http://br.php.net/count

http://br.php.net/for

http://br.php.net/manual/pt_BR/reserved.variables.get.php

http://br.php.net/manual/pt_BR/reserved.variables.post.php

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

o "aenviar" é um textarea em html que eu fizz... e nele fica uma listinha de e-mails exemplo:

email@mail.com
email2@mail.com
email3@mail.com

Então eu guardo esses valores na variavel $emails e dps separo os emails em um array $email pra poder enviar email de 1 em 1 entedem?

Pois se eu armazenar o valor em $emails e não seperar com o explode() eles vão ficar todos juntos. ;s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim funcionou Carlos, porém só queria saber o motivo daquele erro no meu código! Ta tudo certo, queria entender ele...

Mais tudo bem, ta resolvido, podem fechar o tópico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro é pq ele tenta acessar uma posição que não existe no array.. no caso a posição 3.

O teu array tem 3 posições: 0, 1 e 2.. então a 3 não existe..

 

e ele gera o erro, pois o laço tenta chegar nela.

E isso acontece, pois a condição de 'parar' do while não está bem definida.. while(email[$i])..

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.