Ir para conteúdo

POWERED BY:

Arquivado

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

KayanSampaio

Problema c cadastro com foto no banco

Recommended Posts

Notice: Undefined index: cadastrar in C:\wamp\www\site\upload_para_banco.php on line 27

oq significa este erro?

 

minha linha 27:

if ($_POST['cadastrar']) {

 

estou tentando fazer um cadastro de usuario com foto, ms ea foto tambem e para ir para o banco. no caso.. quando apartar no botao cadastrar sera executada a açao do upload. onde estou errando?

 

estou seguindo esse script:

http://faael.net/upload-simples-de-imagem-com-php-mysql/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque:

if ($_POST['cadastrar']) {

 

Por:

if (isset($_POST['cadastrar'])) {

Compartilhar este post


Link para o post
Compartilhar em outros sites

Notice: Undefined index: cadastrar in C:\wamp\www\site\upload_para_banco.php on line 27

oq significa este erro?

 

minha linha 27:

if ($_POST['cadastrar']) {

 

estou tentando fazer um cadastro de usuario com foto, ms ea foto tambem e para ir para o banco. no caso.. quando apartar no botao cadastrar sera executada a açao do upload. onde estou errando?

 

estou seguindo esse script:

http://faael.net/upload-simples-de-imagem-com-php-mysql/

 

Olá amigo.

 

Já testei este script do FAEL.

Seu problema deve ser o seguinte:

 

Note que nesta linha do formulário form action="<?php echo $_SERVER['PHP_SELF'] ?> ele está enviando os dados do formulário para a própria página certo!? então da primeira vez que você carregar esta página vai informar o tal aviso que você citou. Mas não é um erro, só está informando que a variável 'cadastra' não foi setada. Você pode corrigir isso de duas formas:

 

1° enviar os dados do formulário para uma outra página, e então colocar o script que faz o cadatro.

2° se voce usa o WAMP. botão esquerdo >> PHP >> Opções de PHP >> desmarque "display errors" e este aviso não mais aparecerá, aliás será ocultado qualquer outro aviso. Mas aconselho usar isso se tiver certeza que seu script não contém erros, do contrário o erro simplesmente não será informado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

2° se voce usa o WAMP. botão esquerdo >> PHP >> Opções de PHP >> desmarque "display errors" e este aviso não mais aparecerá, aliás será ocultado qualquer outro aviso. Mas aconselho usar isso se tiver certeza que seu script não contém erros, do contrário o erro simplesmente não será informado.

 

Em vez de esconder todos os erros, simplesmente configure no php.ini:

error_reporting = E_ALL & ~E_NOTICE

 

Isso irá mostrar todos os erros, ocultando apenas os notices...

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

2° se voce usa o WAMP. botão esquerdo >> PHP >> Opções de PHP >> desmarque "display errors" e este aviso não mais aparecerá, aliás será ocultado qualquer outro aviso. Mas aconselho usar isso se tiver certeza que seu script não contém erros, do contrário o erro simplesmente não será informado.

 

Em vez de esconder todos os erros, simplesmente configure no php.ini:

error_reporting = E_ALL & ~E_NOTICE

 

Isso irá mostrar todos os erros, ocultando apenas os notices...

 

Boa, essa eu não sabia.

 

traduzido seria algo como: mostrar todos os erros e não mostrar e_notice?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa, essa eu não sabia.

 

traduzido seria algo como: mostrar todos os erros e não mostrar e_notice?

 

Exato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

irmaos.. fiz oq vcs sugeriram e quando cadastrei apareceu isso:

Notice: Undefined index: Nome in C:\wamp\www\site\upload_para_banco.php on line 30

Notice: Undefined index: Email in C:\wamp\www\site\upload_para_banco.php on line 31

Notice: Undefined index: Foto in C:\wamp\www\site\upload_para_banco.php on line 32

 

linhas 30,31,32:

$nome = $_POST['Nome'];

$email = $_POST['Email'];

$foto = $_FILES["Foto"];

 

e nao cadastrou no banco.. e outro erro ki vem ocorrendo e quando eu vo visualisar os registros hora ele funciona normal, hora da o seguinte erro:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\site\visualizar_registro.php on line 26

linha 26:

while ($listar = mysql_fetch_array($sql)){

ja procurei na net e nada... to vendo ki sou eu ki nao tenho futuro mesmo :S

ah sim uso PHP 5.3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos fazer isso do modo simples, coloca o script completo (o formulário e o action do formulário).

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom esse erro Undefined index: da com a nova versão do php que não aceita mais valores nulos por isso da o "erro"

notice nao significa erro ok

isso não seria um erro apenas uma notificação que o php faz avisando que tua variável ta com valor nulo

 

ponha um & comercial no metodo post para referenciar que o erro vai desaparecer ok

 

a Lembrando se tuas variaveis abaixo estao nulas isso significa que elas não estão pegando o valor setado no formulario

da um echo""; nelas abaixo e ve se ta imprimindo algo ok

echo $nome  = &$_POST['Nome'];
echo $email = &$_POST['Email'];
echo $foto  = &$_FILES["Foto"];

bom sobre seu erro na linha 26: ponha o codigo todo para analize ok

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema é o seguinte $_POST['Nome'] é diferente de $_POST['nome'], no formulário os nomes dos campos estão em minúsculo, mas você está tentando resgatar os nome com a primeira letra em maiúscula...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não interessa o nome do campo no BD (não nessa parte), o importante é que você resgate usando o nome idêntico ao que está no formulário e ai use isso para enviar para o BD.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pronto... agora ta aparecendi isso quando tento enviar:

Deprecated: Function eregi() is deprecated in C:\wamp\www\site\upload_para_banco.php on line 48

mais aii to mais por dentro... no php 5.3 o eregi foi substituido por preg_match, mas quando substituo aparece isso:

Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in C:\wamp\www\site\upload_para_banco.php on line 48

Compartilhar este post


Link para o post
Compartilhar em outros sites

Solucionei adicionando & ~E_DEPRECATED, no php.ini dessa maneira:

 

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

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.