Ir para conteúdo

POWERED BY:

Arquivado

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

Landerson Almeida

Notice Parse error

Recommended Posts

Olá tou desenvolvendo esse script de cadastro mais esta dando Erros. Ajudem por favor!

<?php
$conecta = mysql_connect("localhost","root","");
$db = mysql_select_db("test");
?>
<html>
<head>
<title>Sistema Login</title>
</head>
<body>
<?php if(isset($_POST['acao']) && $_POST['acao'] == 'cadastrar'){
	$nomeuser = strip_tags(trim($_POST['nome']));
	$email = strip_tags(trim($_POST['email']));
	$cidade = strip_tags(trim($_POST['cidade']));
	$estado = strip_tags(trim($_POST['estado']));
	$senha = strip_tags(trim($_POST['senha']));
	
	$pasta = 'imagens';
	$permitido = array('image/jpeg','image/jpg','image/pjepg','/image/png');
	$foto = $_FILES['foto'];
	$tmp = $foto['tmp_name'];
	$name = $foto['name'];
	$type = $foto['type'];
	require ("funcao_upload.php");
	
	if(empty($nomeuser)){
		$resposta = '<script>alert("Informe seu nome")</script>';
	}elseif(empty($email)){
		$resposta = '<script>alert("Informe seu email")</script>';
	}elseif(!strstr($email, '@')){
		$resposta = '<script>alert("Informe um email Valido")</script>';
	}elseif(empty($cidade)){
		$resposta = '<script>alert("Informe sua cidade")</script>';
	}elseif(empty($estado)){
		$resposta = '<script>alert("Informe seu estado")</script>';
	}elseif(!empty($name) && in_array($type, $permitido)){
		$nome = 'usuario'.md5(uniqid(rand(), true)).'.jpg';
	}else{
		$resposta = '<script>alert("Tipo de Imagem invalida")</script>';
	}if(empty($resposta)){
		upload($tmp, $nome, 500, $pasta);
		$cadastra = mysql_query("INSERT INTO usuarios (nome, email, cidade, estado, foto) VALUES ('$nomeuser','$email','$cidade','$estado','$nome'");
		if($cadastra){
		echo "Cadastro realizado com sucesso";
		}else{}		
	}
}
?>
<?php if(isset($reposta)){echo $resposta;}?>
<div id="formulario">
	<form action="" method="post" enctype="multiparte/form-date">
		<fieldset>
			<label>
			<span>Nome</span>
			<input type="text" name="nome" />
			</label>
			
			<label>
			<span>Email</span>
			<input type="text" name="nome" />
			</label>
			
			<label>
			<span>Foto</span>
			<input type="file" name="foto" />
			</label>
			
			<label>
			<span>Senha</span>
			<input type="password" name="senha" />
			</label>
			
			<label>
			<span>Cidade</span>
			<input type="text" name="cidade" />
			</label>
			
			<label>
			<span>Estado</span>
			<input type="text" name="estado" />
			</label>
			
			<input type="hidden" name="acao" value="cadastrar" />
			<input type="submit" value="cadastrar" />
		</fieldset>
	</form>
</div>
</body>
</html>

Arquivo funcao_upload.php

<?php function upload($tmp, $nome, $largura, $pasta){
	$foto = imagecreatefromjpeg($tmp);
	$x = imagesx($foto);
	$y = imagesy($foto);
	$altura = ($largura * $y) / $x;
	
	$novaimg = imagecreatetruecolor($largura, $altura);
	imagecopyresampled($novaimg, $foto, 0,0,0,0,$largura, $altura, $x, $y);
	imagejpeg($novaimg,"$pasta/$nome");
	imagedestroy($novaimg)
	imagedestroy($foto);
	return($nome);
	}
?>

Agurdando , Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Noite,

Notice: Undefined index: email in C:\wamp\www\sistema\index.php on line 12
Notice: Undefined index: foto in C:\wamp\www\sistema\index.php on line 19
Parse error: syntax error, unexpected 'imagedestroy' (T_STRING) in C:\wamp\www\sistema\funcao_upload.php on line 11

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom amigo,

 

Achou que serias melhor usar o jquery validate assim diminuiria mais o PHP e usar a class de upload que informei a algum tempo. e depois e só fazer o insert no banco.

 

 

 

<?php
// Nas versões do PHP anteriores a 4.1.0, deve ser usado $HTTP_POST_FILES
// ao invés de $_FILES.

$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
print "O arquivo é valido e foi carregado com sucesso. Aqui esta alguma informação:\n";
print_r($_FILES);
} else {
print "Possivel ataque de upload! Aqui esta alguma informação:\n";
print_r($_FILES);
}
print "</pre>";
?>

 

 

 

e o insert que você fez;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não fasso a minima ideia do que e isso eu tava fazendo esse siteminha aew por tutorial. queria só resolver esse pequeno erro!



Agora esta 1 erro so

Notice: Undefined index: foto in C:\wamp\www\sistema\index.php on line 19

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Noite Landerson

 

Vou colocar aqui os erros que encontrei seu script:

1° Erro:

Notice: Undefined index: email in C:\wamp\www\sistema\index.php on line 12

É porque no input text do email você não colocou o nome certo

...
<label>
  <span>Nome</span>
  <input type="text" name="nome" />
</label>
			
<label>
  <span>Email</span>
  <input type="text" name="nome" />
</label>
...

2° Erro

Notice: Undefined index: foto in C:\wamp\www\sistema\index.php on line 19

Você deve colocar isset no $_FILES no seu script, esse erro acontece porque você não esta escolhendo uma foto

Adicione o isset nesse trecho do seu script:

 

...
if(isset($_FILES['fotos'])){
        $pasta = 'imagens';
	$permitido = array('image/jpeg','image/jpg','image/pjepg','/image/png');
	$foto = $_FILES['foto'];
	$tmp = $foto['tmp_name'];
	$name = $foto['name'];
	$type = $foto['type'];
	require ("funcao_upload.php");
}
...

 

3° Erro

Parse error: syntax error, unexpected 'imagedestroy' (T_STRING) in C:\wamp\www\sistema\funcao_upload.php on line 11

É porque você esqueceu do ponto e vírgula no fim de imagedestroy($novaimg)

...
$novaimg = imagecreatetruecolor($largura, $altura);
	imagecopyresampled($novaimg, $foto, 0,0,0,0,$largura, $altura, $x, $y);
	imagejpeg($novaimg,"$pasta/$nome");
	imagedestroy($novaimg)
	imagedestroy($foto);
	return($nome);
	}
?>

Agora vou colocar todo o código corrigido

 

1° página:

<?php
$conecta = mysql_connect("localhost","root","");
$db = mysql_select_db("test");
?>
<html>
<head>
<title>Sistema Login</title>
</head>
<body>
<?php if(isset($_POST['acao']) && $_POST['acao'] == 'cadastrar'){
	$nomeuser = strip_tags(trim($_POST['nome']));
	$email = strip_tags(trim($_POST['email']));
	$cidade = strip_tags(trim($_POST['cidade']));
	$estado = strip_tags(trim($_POST['estado']));
	$senha = strip_tags(trim($_POST['senha']));

if(isset($_FILES['foto'])){	
	$pasta = 'imagens';
	$permitido = array('image/jpeg','image/jpg','image/pjepg','/image/png');
	$foto = $_FILES['foto'];
	$tmp = $foto['tmp_name'];
	$name = $foto['name'];
	$type = $foto['type'];
	require ("funcao_upload.php");
}
	
	if(empty($nomeuser)){
		$resposta = '<script>alert("Informe seu nome")</script>';
	}elseif(empty($email)){
		$resposta = '<script>alert("Informe seu email")</script>';
	}elseif(!strstr($email, '@')){
		$resposta = '<script>alert("Informe um email Valido")</script>';
	}elseif(empty($cidade)){
		$resposta = '<script>alert("Informe sua cidade")</script>';
	}elseif(empty($estado)){
		$resposta = '<script>alert("Informe seu estado")</script>';
	}elseif(!empty($name) && in_array($type, $permitido)){
		$nome = 'usuario'.md5(uniqid(rand(), true)).'.jpg';
	}else{
		$resposta = '<script>alert("Tipo de Imagem invalida")</script>';
	}if(empty($resposta)){
           if(isset($_FILES['foto'])){
		upload($tmp, $nome, 500, $pasta);
           }
		$cadastra = mysql_query("INSERT INTO usuarios (nome, email, cidade, estado, foto) VALUES ('$nomeuser','$email','$cidade','$estado','$nome'");
		if($cadastra){
		echo "Cadastro realizado com sucesso";
		}else{}		
	}
}
?>
<?php if(isset($reposta)){echo $resposta;}?>
<div id="formulario">
	<form action="" method="post" enctype="multiparte/form-date">
		<fieldset>
			<label>
			<span>Nome</span>
			<input type="text" name="nome" />
			</label>
			
			<label>
			<span>Email</span>
			<input type="text" name="email" />
			</label>
			
			<label>
			<span>Foto</span>
			<input type="file" name="foto" />
			</label>
			
			<label>
			<span>Senha</span>
			<input type="password" name="senha" />
			</label>
			
			<label>
			<span>Cidade</span>
			<input type="text" name="cidade" />
			</label>
			
			<label>
			<span>Estado</span>
			<input type="text" name="estado" />
			</label>
			
			<input type="hidden" name="acao" value="cadastrar" />
			<input type="submit" value="cadastrar" />
		</fieldset>
	</form>
</div>
</body>
</html>

 

2° página >> funcao_upload.php

<?php 
        function upload($tmp, $nome, $largura, $pasta){
	$foto = imagecreatefromjpeg($tmp);
	$x = imagesx($foto);
	$y = imagesy($foto);
	$altura = ($largura * $y) / $x;
	
	$novaimg = imagecreatetruecolor($largura, $altura);
	imagecopyresampled($novaimg, $foto, 0,0,0,0,$largura, $altura, $x, $y);
	imagejpeg($novaimg,"$pasta/$nome");
	imagedestroy($novaimg);
	imagedestroy($foto);
	return($nome);
	}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mude essa linha:

$cadastra = mysql_query("INSERT INTO usuarios (nome, email, cidade, estado, foto) VALUES ('$nomeuser','$email','$cidade','$estado','$nome'");

Para essa:

$cadastra = mysql_query("INSERT INTO usuarios (nome, email, cidade, estado, foto) VALUES ('$nomeuser','$email','$cidade','$estado','$nome')");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mude esse trecho:

...
if(empty($nomeuser)){
		$resposta = '<script>alert("Informe seu nome")</script>';
	}elseif(empty($email)){
		$resposta = '<script>alert("Informe seu email")</script>';
	}elseif(!strstr($email, '@')){
		$resposta = '<script>alert("Informe um email Valido")</script>';
	}elseif(empty($cidade)){
		$resposta = '<script>alert("Informe sua cidade")</script>';
	}elseif(empty($estado)){
		$resposta = '<script>alert("Informe seu estado")</script>';
	}elseif(!empty($name) && in_array($type, $permitido)){
		$nome = 'usuario'.md5(uniqid(rand(), true)).'.jpg';
	}else{
		$resposta = '<script>alert("Tipo de Imagem invalida")</script>';
	}if(empty($resposta)){
           if(isset($_FILES['foto'])){
		upload($tmp, $nome, 500, $pasta);
           }
		$cadastra = mysql_query("INSERT INTO usuarios (nome, email, cidade, estado, foto) VALUES ('$nomeuser','$email','$cidade','$estado','$nome'");
		if($cadastra){
		echo "Cadastro realizado com sucesso";
		}else{}		
	}
...

Para esse:

...
if(empty($nomeuser)){
		$resposta = '<script>alert("Informe seu nome")</script>';
	}elseif(empty($email)){
		$resposta = '<script>alert("Informe seu email")</script>';
	}elseif(!strstr($email, '@')){
		$resposta = '<script>alert("Informe um email Valido")</script>';
	}elseif(empty($cidade)){
		$resposta = '<script>alert("Informe sua cidade")</script>';
	}elseif(empty($estado)){
		$resposta = '<script>alert("Informe seu estado")</script>';
	}elseif(!empty($name) && in_array($type, $permitido)){
		$nome = 'usuario'.md5(uniqid(rand(), true)).'.jpg';
	}elseif($type != $permitido){
		$resposta = '<script>alert("Tipo de Imagem invalida")</script>';
        }else{
           if(isset($_FILES['foto'])){
		upload($tmp, $nome, 500, $pasta);
           }
           $cadastra = mysql_query("INSERT INTO usuarios (nome, email, cidade, estado, foto) VALUES ('$nomeuser','$email','$cidade','$estado','$nome')");
		if($cadastra){
		echo "Cadastro realizado com sucesso";
		}else{
                }
        }
...

Compartilhar este post


Link para o post
Compartilhar em outros sites
Notice: Undefined variable: permitido in C:\wamp\www\sistema\index.php on line 39
Notice: Undefined variable: type in C:\wamp\www\sistema\index.php on line 39
Notice: Undefined variable: nome in C:\wamp\www\sistema\index.php on line 45

Cadastrou mais deu essas Noticias só uma coisa, como impesso um cadastro repetido de email ? porque eu posso cadastrar um nome de usuario e email quantoas vezes eu quiser.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para não ter mais esses erros e consultar se o email já existe deixe esse trecho assim:

....
$sql = mysql_query("SELECT * FROM usuarios WHERE email = '$email'");
$verifica = mysql_num_rows($sql);
        if(empty($nomeuser)){
                $resposta = '<script>alert("Informe seu nome")</script>';
        }elseif(empty($email)){
                $resposta = '<script>alert("Informe seu email")</script>';
        }elseif($verifica>0){
                $resposta = '<script>alert("Email já cadastrado")</script>';
        }elseif(!strstr($email, '@')){
		$resposta = '<script>alert("Informe um email Valido")</script>';
	}elseif(empty($cidade)){
		$resposta = '<script>alert("Informe sua cidade")</script>';
	}elseif(empty($estado)){
		$resposta = '<script>alert("Informe seu estado")</script>';
	}elseif(!empty($name) && in_array($type, $permitido)){
		$nome = 'usuario'.md5(uniqid(rand(), true)).'.jpg';
	}else{
           if(isset($_FILES['foto'])){
		upload($tmp, $nome, 500, $pasta);
            $cadastra = mysql_query("INSERT INTO usuarios (nome, email, cidade, estado, foto) VALUES ('$nomeuser','$email','$cidade','$estado','$nome')");
           }else{
             $cadastra = mysql_query("INSERT INTO usuarios (nome, email, cidade, estado) VALUES ('$nomeuser','$email','$cidade','$estado')");
           }
          
		if($cadastra){
		echo "Cadastro realizado com sucesso";
		}else{
                }
        }
...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Landerson, antes de mais nada é preciso entender o código,

analise o código e faça o mesmo para o campo nome.Acredito que não haja dificuldade.

 

 

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.