Há pouco tempo estou aprendendo a trabalhar com php e estou montando um sistema de cadastro, meu sistema cadastra beleza mas agora preciso colocar um campo "foto" nele tambem. Achei um script ensinando a fazer upload de imagem e tentei adaptar ele pro meu sistema de cadastro mas mas nao consegui. O problema é o seguinte, memo com a funçao de upload o sistema funciona mas soh nao cadastra a foto, no tutorial que segui esplica que devo criar um campo no mysql chamado "foto varchar not null" onde ficara armazenado a foto: segue o script:
Neste script abaixo eu verifico a imagem e depois fasso o upload...
//verificando arquivo imagem
if (!empty($foto["name"])) {
// Largura máxima em pixels
$largura = 150;
// Altura máxima em pixels
$altura = 180;
// Tamanho máximo do arquivo em bytes
$tamanho = 1000;
// Verifica se o arquivo é uma imagem
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $foto["type"])){
$error[1] = "Isso não é uma imagem.";
}
// Pega as dimensões da imagem
$dimensoes = getimagesize($foto["tmp_name"]);
// Verifica se a largura da imagem é maior que a largura permitida
if($dimensoes[0] > $largura) {
$error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels";
}
// Verifica se a altura da imagem é maior que a altura permitida
if($dimensoes[1] > $altura) {
$error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels";
}
// Verifica se o tamanho da imagem é maior que o tamanho permitido
if($foto["size"] > $tamanho) {
$error[4] = "A imagem deve ter no máximo ".$tamanho." bytes";
}
// Se não houver nenhum erro
if (count($error) == 0) {
// Pega extensão da imagem
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);
// Gera um nome único para a imagem
$nome_imagem = md5(uniqid(time())) . "." . $ext[1];
// Caminho de onde ficará a imagem
$caminho_imagem = "fotos/" . $nome_imagem;
// Faz o upload da imagem para seu respectivo caminho
move_uploaded_file($foto["tmp_name"], $caminho_imagem);
}
// Se houver mensagens de erro, exibe-as
if (count($error) != 0) {
foreach ($error as $erro) {
echo $erro . "<br />";
}
}
}Aqui eu armazeno os dados juntamente com a foto:
$sql = mysql_query("INSERT INTO usuarios (nome, sobrenome, email, repete_email, senha, repete_senha, data_cadastro, foto) VALUES('{$nome}', '{$sobrenome}', '{$email}', '{$repete_email}', '{$senha}', '{$repete_senha}', now(), '{$foto}')")
or die( mysql_error() );quando rodo o sistema nao da nenhum erro e armazena os dados tranquilo mas nao armazena a foto, se alguem puder me ajudar com este script ficaria muito grato. flw
abaixo esta o codigo responsavel pelo cadastro no db, e a parte vermelha eh onde acho que esta algo errado, sera que alguem poderia verificar pra mim e explicar o que eu fiz de errado? Desde ja agradeço.
<?php
include "config.php";
include "functions.php";
$nome = trim($_POST['nome']);
$sobrenome = trim($_POST['sobrenome']);
$email = trim($_POST['email']);
$repete_email = trim($_POST['repete_email']);
$senha = trim($_POST['senha']);
$repete_senha = trim($_POST['repete_senha']);
$foto = trim($_POST['foto']);
/* Vamos checar algum erro nos campos, mas tenha em mente que existem formas bem mais eficientes de tratar os dados que são enviados ou não pelos campos do formulário */
[color="#FF0000"]if ((!$nome) || (!$sobrenome) || (!$email) || (!$repete_email) || (!$senha) || (!$repete_senha)){
echo "ERRO: Você não enviou as seguintes informações requeridas para o cadastro! <br /> <br />";
if (!$nome){
echo "Nome é um campo requerido. <br />";
}
if (!$sobrenome){
echo "Sobrenome é um campo requerido. <br />";
}
if (!$email){
echo "Email é um campo requerido.<br />";
}
if (!$repete_email){
echo "Confirma Email é um campo requerido.<br />";
}
if (!$senha){
echo "Senha é um campo requerido. <br />";
}
if (!$repete_senha){
echo "Confirma Senha é um campo requerido. <br />";
}
echo "<br />Preencha os campos necessários abaixo: <br /><br />";
include "formulario_cadastro.php";
}else
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//verificando arquivo imagem
if (!empty($foto["name"])) {
// Largura máxima em pixels
$largura = 150;
// Altura máxima em pixels
$altura = 180;
// Tamanho máximo do arquivo em bytes
$tamanho = 1000;
// Verifica se o arquivo é uma imagem
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $foto["type"])){
$error[1] = "Isso não é uma imagem.";
}
// Pega as dimensões da imagem
$dimensoes = getimagesize($foto["tmp_name"]);
// Verifica se a largura da imagem é maior que a largura permitida
if($dimensoes[0] > $largura) {
$error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels";
}
// Verifica se a altura da imagem é maior que a altura permitida
if($dimensoes[1] > $altura) {
$error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels";
}
// Verifica se o tamanho da imagem é maior que o tamanho permitido
if($foto["size"] > $tamanho) {
$error[4] = "A imagem deve ter no máximo ".$tamanho." bytes";
}
// Se não houver nenhum erro
if (count($error) == 0) {
// Pega extensão da imagem
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);
// Gera um nome único para a imagem
$nome_imagem = md5(uniqid(time())) . "." . $ext[1];
// Caminho de onde ficará a imagem
$caminho_imagem = "fotos/" . $nome_imagem;
// Faz o upload da imagem para seu respectivo caminho
move_uploaded_file($foto["tmp_name"], $caminho_imagem);
}
// Se houver mensagens de erro, exibe-as
if (count($error) != 0) {
foreach ($error as $erro) {
echo $erro . "<br />";
}
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if ($senha!=$repete_senha){
echo "Senha nao confere¹";
}
if ($email!=$repete_email){
echo "Email nao confere¹";
echo "<br><br>$email<br><br>$repete_email";}[/color]
else{
/* Vamos checar se o nome de Usuário escolhido e/ou Email já existem no banco de dados */
$sql_email_check = mysql_query("SELECT COUNT(usuario_id) FROM usuarios WHERE email='{$email}'");
$sql_usuario_check = mysql_query("SELECT COUNT(usuario_id) FROM usuarios WHERE email='{$senha}'");
$eReg = mysql_fetch_array($sql_email_check);
$uReg = mysql_fetch_array($sql_usuario_check);
$email_check = $eReg[0];
$usuario_check = $uReg[0];
if (($email_check > 0) || ($usuario_check > 0)){
echo "<strong>ERRO </strong>- Por favor corrija os seguintes erros abaixo: <br /> <br />";
if ($email_check > 0){
echo "Este email ( <strong>".$email."</strong> ) já está sendo utilizado.<br />Por favor utilize outra conta de email! <br />";
unset($email);
}
if ($usuario_check > 0){
echo "Este e-mail ( <strong>".$email."</strong> ) já está sendo utilizado.<br/>Por favor utilize outro e-mail<br />";
unset($email);
}
echo "<br />";
include "formulario_cadastro.php";
}
else
{
$email = strtolower(trim($_POST['email']));
$char = "@";
$pos = strpos($email, $char);
if ($pos === false){
echo "<strong>ERRO:</strong><br />";
echo "O endereço de email [ <strong><em>".$email."</em></strong> ] que está tentando utilizar não é válido.<br />";
echo "Por favor, utilize um email válido.<br /><br />";
include "formulario_cadastro.php";
}else{
$v_mail = verifica_email($email);
if ($v_mail){
$senha = md5($senha); /*somente trocar $senha_randomica pelo nome de um campo para criar uma senha*/
$repete_senha = md5($repete_senha);
// Inserindo os dados no banco de dados
$info = htmlspecialchars($info);
$sql = mysql_query("INSERT INTO usuarios (nome, sobrenome, email, repete_email, senha, repete_senha, data_cadastro, foto) VALUES('{$nome}', '{$sobrenome}', '{$email}', '{$repete_email}', '{$senha}', '{$repete_senha}', now(), '{$foto}')")
or die( mysql_error() );
if (!$sql){
echo "Ocorreu algum erro ao criar sua conta, por favor entre em contato com o Webmaster.";
}
echo "Cadastro efetuado com sucesso!";
}else{
echo "<strong>ERRO:</strong><br />";
echo "O endereço de email [ <strong><em>".$email."</em></strong> ] que está tentando utilizar não é válido.<br />";
echo "Por favor, utilize um email válido.<br /><br />";
include "formulario_cadastro.php";
}
}
}
}
?>











