Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoa olha eu aqui denovo, é o seguinte, vou postar meu codigo aqui abaixo pra vc's analisarem, mais é o seguinte: esses codigos ai em baixo cadastrar imagens no banco de dados, só que ela não cadastra na mesma linha do usuario logado (no usuario da sessão) ou seja ela não ta cadastrando no cadastro do usuario desejado ela cadastrar em um novo id e tudo mais como se fosse um novo cadastro completo no site, eu queria que quando eu logasse(iniciasse a sessão) o script pegasse quem tava logado e cadastrasse a imagem no cadastro dele!!!
<?php
session_start(); // Inicia a sessão
if(!isset($_SESSION['loginSession']) AND !isset($_SESSION['senhaSession'])){
header("Location: login.php");
exit;
}
?>
<?php include 'header2.php'; ?>
<?php
include "config.php";
$login = $_SESSION['loginSession'];
$senha = $_SESSION['senhaSession'];
$sql = mysql_query("SELECT * FROM login_session WHERE login = '$login' AND senha = '$senha'");
while($linha = mysql_fetch_array($sql)){
$nome = $linha['nome'];
}
?>
<br />
<br />
<h1>Olá seja bem vindo ao seu perfil <?php echo $nome; ?></h1>
<br />
<br />
<br />
<br />
<?php if(isset($_POST['upload'])){
//pasta para qual o arquivo será enviado
$pasta = 'upload';
//permitindo os tipos de imagens
$permitido = array('image/jpg', 'image/jpeg', 'image/pjpeg');
$img = $_FILES['img'];
//caminho da imagem
$tmp = $img['tmp_name'];
$name = $img['name'];
$type = $img['type'];
require('upload_func.php');
if(!empty($name) && in_array($type, $permitido)){
$nombre = 'doreganho-'.md5(uniqid(rand(), true)).'.jpg';
upload($tmp, $nombre, 650, $pasta);
$cadastraImg = mysql_query("INSERT INTO login_session (postId, imgName) VALUES ('$tmp', '$nombre')");
}else{
echo 'Tipo do arquivo não é aceito! envie um arquivo no formato jpg';
}
} ?>
<form name="upload" action="" enctype="multipart/form-data" method="post" >
<input type="file" name="img" />
<input type="submit" name="upload" value="Upload" />
</form>
imagem de como fica no banco ao cadastrar uma imagem:
/applications/core/interface/imageproxy/imageproxy.php?img=http://img812.imageshack.us/img812/7513/tkb6.jpg&key=cbbe7b60331737100ef7c6609f032a7a3b74cdf7fdc5bad21a400d94fd59606a" alt="tkb6.jpg" />
>
Então, o comando seria UPDATE e não INSERT
Você está mandando inserir, como sua id (deve ser auto incremento) ele está criando e só alimentando os campos que estão sendo passados.
Quando você fizer o Update ele vai realizar o trabalho correto.
Rogério fiz isso que vc falou mais não deu certo, na verdade não cadastrou nada no banco com o UPDATE!
O CODIGO FICOU ASSIM:
$cadastraImg = mysql_query("UPDATE INTO login_session (postId, imgName) VALUES ('$tmp', '$nombre')");
$cadastraImg = "UPDATE login_session SET postId = '$tmp' , 'imgName' = '$nombre' WHERE ('id' = '$id')";
$atualizou = mysql_query($cadastraImg);
if($atualizou){
echo'Atualizou';
}else{
echo'Não atualizou';
}
Você vai ter que capturar (por exe: o id do usuário) para fazer a alteração correta
[inline] $id = $linha['id']; [/inline]
>
$cadastraImg = "UPDATE login_session SET postId = '$tmp' , 'imgName' = '$nombre' WHERE ('id' = '$id')";
$atualizou = mysql_query($cadastraImg);
if($atualizou){
echo'Atualizou';
}else{
echo'Não atualizou';
}
Você vai ter que capturar (por exe: o id do usuário) para fazer a alteração correta
COLOQUEI ESSE CODIGO QUE VC ME DEU E NÃO FEZ NADA, NÃO TA CADASTRANDO NO BANCO NEM NADA AGORA!
Veja a condição WHERE, ela é necessária para que o UPDATE seja feito ao usuário que está realizando-o
Veja a condição WHERE, ela é necessária para que o UPDATE seja feito ao usuário que está realizando-o
Ela não atualiza e da um erro
( ! ) SCREAM: Error suppression ignored for ( ! ) Notice: Undefined variable: id in C:\wamp\www\doreganho\pagina1.php on line 52 Call Stack # Time Memory Function Location 1 0.0046 148488 {main}( ) ..\pagina1.php:0 Não atualizou
Você tem que passar a $id antes da $cadastraImg lá no while
"Você vai ter que capturar (por exe: o id do usuário) para fazer a alteração correta"
$id = $linha['id'];
como faço isso que vc falou rogerio?
Rogerio o codigo esta assim, é assim que vc falou?
$id = $linha['id'];
$cadastraImg = "UPDATE login_session SET postId = '$tmp' , 'imgName' = '$nombre' WHERE ('id' = '$id')";
agora não da nenhum erro porém fala que não atualizou, e não atualizou mesmo no banco!$id dentro do while
$id dentro do while
Assim rogerio?
while($linha = mysql_fetch_array($sql)){
$nome = $linha['nome'];
$id = $linha['id'];
}
Então, o comando seria UPDATE e não INSERT
Você está mandando inserir, como sua id (deve ser auto incremento) ele está criando e só alimentando os campos que estão sendo passados.
Quando você fizer o Update ele vai realizar o trabalho correto.