Ir para conteúdo

POWERED BY:

Arquivado

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

Dina de Sousa

Direcionar Pagina PHP

Recommended Posts

Boas.

 

Tenho duas paginas..uma pagina principal onde esta o formulario para inserir as fotos e mostrar, e outra pagina de php com codigo para inserir na base de dados.

 

No o meu WAMPSERVER ao clicar em enviar ele direciona logo para a pagina principal, quando coloquei estas paginas online, ao carregar no botao enviar ele vai para a pagina php e nao me direciona para a pagina principal.

 

Alguem me ajude a resolver.

 

 

CODIGO DA PAGINA PHP:

 

<?php
include('config.php');
if (!isset($_FILES['image']['tmp_name'])) {
echo "";
}else{
$file=$_FILES['image']['tmp_name'];
$image= addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name= addslashes($_FILES['image']['name']);
move_uploaded_file($_FILES["image"]["tmp_name"],"photos/" . $_FILES["image"]["name"]);
$location="photos/" . $_FILES["image"]["name"];
$caption=$_POST['caption'];
$price=$_POST['price'];
$descricao=$_POST['descricao'];
$save=mysql_query("INSERT INTO photos (location, caption, price, descricao) VALUES ('$location','$caption', '$price', '$descricao')");
header("location:form.php");
exit();
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

 

include('config.php');

 

if (!isset($_FILES['image']['tmp_name'])) :
echo "";
else:
$file=$_FILES['image']['tmp_name'];
$image= addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name= addslashes($_FILES['image']['name']);
move_uploaded_file($_FILES["image"]["tmp_name"],"photos/" . $_FILES["image"]["name"]);
$location="photos/" . $_FILES["image"]["name"];
$caption=$_POST['caption'];
$price=$_POST['price'];
$descricao=$_POST['descricao'];
$save=mysql_query("INSERT INTO photos (location, caption, price, descricao) VALUES ('$location','$caption', '$price', '$descricao')");
if($save):

header('Location: local.php');

endif;

endif;

 

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

EXperimentei o seu codigo..e acontece a mesma coisa ele vai para a pagina php e nao volta..tenho que retroceder e actualizar para ver a foto carregada.

 

<?php

 

include('config.php');

 

if (!isset($_FILES['image']['tmp_name'])) :
echo "";
else:
$file=$_FILES['image']['tmp_name'];
$image= addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name= addslashes($_FILES['image']['name']);
move_uploaded_file($_FILES["image"]["tmp_name"],"photos/" . $_FILES["image"]["name"]);
$location="photos/" . $_FILES["image"]["name"];
$caption=$_POST['caption'];
$price=$_POST['price'];
$descricao=$_POST['descricao'];
$save=mysql_query("INSERT INTO photos (location, caption, price, descricao) VALUES ('$location','$caption', '$price', '$descricao')");
if($save):

header('Location: local.php');

endif;

endif;

 

 

?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dina, vou te passar alguns toques para que você possa ficar esperta.

 

Geralmente o wampserver, por ser um pacote de aplicativos, ele já vem pré-configurado e na maioria das vezes (quase sempre) ele interpreta de forma diferente as aplicações de acordo com as diretivas do PHP.INI que são alteradas, e junto com elas várias diretivas que não são aconselháveis.

 

O seu código, tem algumas linhas que você precisa saber o que está fazendo, por exemplo nesta linha:

 

 

 

 

if (!isset($_FILES['image']['tmp_name'])) {
echo "";
}else{

Ao invés de propor uma saída "vazia" (false) coloque alguma mensagem de erro... Ao verificar o status de um post files, verifique com o vetor error do files, exemplo:

 

 

 

if (isset($_FILES['image'] and $_FILES['image']['error']==0))
{

//comandos de sucesso

}else{


echo $_FILES['image']['error'];


}

Na função move_uploaded_file você pode colocar um IF para ver se sua imagem foi movida:

 

 

 

if(move_uploaded_file())
{
//sucesso
}else{
//falha ao mover
}

Na sua query SQL "SEMPRE" coloque instruções de retorno de erros ou falha:

 

 

 

$save=mysql_query("INSERT INTO photos (location, caption, price, descricao) VALUES ('$location','$caption', '$price', '$descricao')")or die(mysql_error());

São ítens indispensáveis para uma aplicação segura e complexa, com essas funções você poderá acompanhar onde está a falha, tanto no upload quanto na query SQL. Quanto a função exit() ela não serve mais de nada ao final do Location, pois ela nem chegará a ser executada, pois antes do interpretador php chegar a função, a página já foi redirecionada pelo comando anterior.

 

 

 

header("Location: form.php");

Verifique em seu formulário, se ele está com todas as marcações HTML necessárias para que o envio de arquivos seja efetuado, como por exemplo a marcação:

enctype="multipart/form-data"

 

Verifique também se o campo file tem o seu atributo name="image"

Compartilhar este post


Link para o post
Compartilhar em outros sites

sou novata nesta area. vou experimentar entao obrigada.

 

 

o meu formulario esta com as seguintes marcações:

 

 

 

<form action="upload.php" method="post" enctype="multipart/form-data" name="upload">

 

nao percebi foi este paramentro:

 

"Verifique também se o campo file tem o seu atributo name="image"

Compartilhar este post


Link para o post
Compartilhar em outros sites
<table border="0" cellpadding="0" cellspacing="0" id="id-form">
<form action="upload.php" method="post" enctype="multipart/form-data" name="upload">
<tr>
<th valign="top">Nome do Produto</th>
<td><input name="caption" type="text" class="inp-form" id="brnu" /></td>
<td></td>
</tr>
<tr>
<th valign="top">Preço:</th>
<td><input name="price" type="text" class="inp-form" /></td>
<td></td>
</tr>
<tr>
<th valign="top">Descrição:</th>
<td><textarea name="descricao" rows="" cols="" class="form-textarea"></textarea></td>
<td></td>
</tr>
<tr>
<th>Imagem:</th>
<th><input type="file" name="image" class="ed"></th>
<td>
<div class="bubble-left"></div>
<div class="bubble-inner">JPEG, GIF 2MB max por imagem</div>
<div class="bubble-right"></div>
</td>
</tr>
<tr>
<th valign="top"></th>
<td><input type="submit" name="upload" value="Enviar" /></td>
</tr>
</form>
</table>
<!-- end id-form -->


o meu php

 

 

<?php
require("config.php");
$result = mysql_query("select * from photos");
$xml = new SimpleXMLElement('<photos/>');
$draw = $xml->addChild('config enable_auto_play="true" auto_play_duration="2.5" auto_align="true"
folder="images/"
tween_duration="0.5"
photo_border_size="4"
photo_border_color="0xFFFFFF"
photo_alpha="true"
x_spacing="120"
y_spacing="0"
side_photo_count="3"');
while($row = mysql_fetch_assoc($result)) {
$draw = $xml->addChild('photo');
$draw->addChild('filename',$row['location']);
$draw->addChild('title',$row['caption']);
$draw->addChild('description',$row['descricao']);
$draw->addChild('price',$row['price']);
}
$fp = fopen("galeria_jnovas.xml","wb");
fwrite($fp,$xml->asXML());
fclose($fp);
?>
<?php
include('config.php');
if (!isset($_FILES['image']['tmp_name'])) {
echo "";
}else{
$file=$_FILES['image']['tmp_name'];
$image= addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name= addslashes($_FILES['image']['name']);
move_uploaded_file($_FILES["image"]["tmp_name"],"photos/" . $_FILES["image"]["name"]);
$location="photos/" . $_FILES["image"]["name"];
$caption=$_POST['caption'];
$price=$_POST['price'];
$descricao=$_POST['descricao'];
$save=mysql_query("INSERT INTO photos (location, caption, price, descricao) VALUES ('$location','$caption', '$price', '$descricao')");
header("location:form.php");
exit();
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá diná

 

verifique o caminho de upagem(da foto) do teu server, certamente o caminho(path) do wamp é bem diferente de um host online(geralmente é um URL). Ver isso no seu provedor. Com esse dado é só substituir no path que tu usava no WAMP

 

e também o path do arquivo que vc deseja acessar: header("location: <caminho>/arquivo.php");

 

Espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Olá diná

 

verifique o caminho de upagem(da foto) do teu server, certamente o caminho(path) do wamp é bem diferente de um host online(geralmente é um URL). Ver isso no seu provedor. Com esse dado é só substituir no path que tu usava no WAMP

 

e também o path do arquivo que vc deseja acessar: header("location: <caminho>/arquivo.php");

 

Espero ter ajudado

 

Olá diná

 

verifique o caminho de upagem(da foto) do teu server, certamente o caminho(path) do wamp é bem diferente de um host online(geralmente é um URL). Ver isso no seu provedor. Com esse dado é só substituir no path que tu usava no WAMP

 

e também o path do arquivo que vc deseja acessar: header("location: <caminho>/arquivo.php");

 

Espero ter ajudado

 

Onde que eu posso ver isso?? no cpanel? ja procurei e nao encontro.

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.