Ir para conteúdo

POWERED BY:

Arquivado

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

FVIEIRAS

Pegar Variável de Outra Página

Recommended Posts

Amigos,

 

Tenho uma página PHP que possui uma variável que já está vindo de uma outra página, onde dando um echo vejo que ela está sendo puxada normalmente.

Porém nessa página que está chegando essa variável, preciso mandar essa mesma variável para uma outra página PHP que está sendo puxada por um formulário que faz o upload de um arquivo, porém não está funcionando.

Alguém poderia me auxiliar no que pode estar errado...

Seguem os códigos:

 

Página PHP 1 (Onde está a variável funcioando)

 

<html>

<body>

<?

$id = $_GET["id"];

settype($id, "integer");

echo("$id")

?>

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

Enviar o arquivo: <input type="file" name="arquivo" size="50"><br>

<input type="submit" value="Enviar">

</form>

</body>

</html>

 

Página PHP 2 (Onde não estou conseguindo fazer chegar o valor da variável da página PHP1)

 

<?

@ini_set('display_errors', '1');

error_reporting(E_ALL);

 

$id = $_GET["id"];

settype($id, "integer");

 

//Faz o upload do arquivo

$pasta = "images/grd"; //Nome da pasta para onde vão os arquivos

if (copy($arquivo,"$pasta/".$arquivo_name)){

echo("<font face=verdana size=1><b>Arquivo enviado com sucesso!</b></font>");

}else{

echo ("<font face=verdana size=1><b>Erro no envio do arquivo!</b></font>");

}

echo($arquivo_name);

echo("---");

echo($id);

//Salva o nome do novo arquivo no BD

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

É amigo, a misteriosa variável é o ID.... rs

 

Fiz isso, ficou assim a página PHP 1 (Que chama a PHP 2 enviando a variável)

 

<html>

<body>

<?

$id = $_GET["id"];

settype($id, "integer");

echo("$id")

?>

<form action="envia.php?id=$id" method="post" enctype="multipart/form-data">

Enviar o arquivo: <input type="file" name="arquivo" size="50"><br>

<input type="submit" value="Enviar">

</form>

</body>

</html>

 

E advinha.... NÃO FUNCIONOU.... rs.... Continua chegando como variável 0

 

Aonde será que tá o erro?????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, é diferente de 0.

Na página PHP1, de onde chama a envia.php, está certinha a variável com o valor 30

 

Somente não chega na outra....

 

 

Fiz esse teste que falou e não vai..... Em vez de chegar como 0 agora, chegou como $id

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse segundo arquivo ai não está completo né? Onde é que você está utilizando $id? :huh:

 

Se logo após a atribuição de $_GET["id"] você dar um echo e não aparecer o número, o problema está mais pra frente do arquivo, onde você não está mostrando ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue ele completo:

 

<?

@ini_set('display_errors', '1');

error_reporting(E_ALL);

 

$id = $_GET["id"];

settype($id, "integer");

 

echo($arquivo_name);

echo("---");

echo("$id");

 

//Apaga fotos do produto existentes para substituir

$db['host'] = "localhost";

$db['username'] = "user";

$db['password'] = "password";

mysql_connect($db['host'], $db['username'], $db['password']);

mysql_select_db("database");

mysql_query("delete from fotos where id = $id");

mysql_close();

 

//Faz o upload do arquivo

$pasta = "images/grd"; //Nome da pasta para onde vão os arquivos

if (copy($arquivo,"$pasta/".$arquivo_name)){

echo("<font face=verdana size=1><b>Arquivo enviado com sucesso!</b></font>");

}else{

echo ("<font face=verdana size=1><b>Erro no envio do arquivo!</b></font>");

}

 

//Salva o nome do novo arquivo no BD

 

?>

<style type="text/css">

<!--

.style2 {color: #FFFFFF}

body {

background-color: #000099;

}

-->

</style>

 

 

<a href="listar.php">Voltar</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você verificou se o DELETE está sendo executado corretamente?

 

Ou você está dizendo que não funciona por causa que não está sendo realizado o upload? Se for isso, o upload dessa forma não vai funcionar mesmo não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

N seria POST????

Página PHP 2 (Onde não estou conseguindo fazer chegar o valor da variável da página PHP1)

 

<?

@ini_set('display_errors', '1');

error_reporting(E_ALL);

$id = $_GET["id"]; <<<<<<<<<< aki

settype($id, "integer");

 

 

 

pagina 1:

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

O up load tá funcionando perfeitamente...

 

O q não tá funcionando é justamente o dele, pois não encontra a variável id

 

Tentei usar:

 

session_start();

session_register("id");

 

Apresenta uma mensagem de erro de Warning, acho que está algo errado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

EXPLICANDO, SÃO DOIS ARQUIVOS PHP, ONDE O PRIMEIRO A PESSOA SELECIONA O ARQUIVO E CLICA EM ENVIAR PARA FAZER O UPLOAD PARA O SERVIDOR, TAL PROCESSO É FEITO NO SEGUNDO ARQUIVO PHP, ONDE NELE SERÁ SALVO O PATH NO BANCO DE DADOS, PORÉM, PARA SER FEITO ISSO, PRECISO DE UMA VARIÁVEL CHAMADA ID, QUE NÃO ESTÁ CONSEGUINDO SER PUXADA PARA O ARQUIVO 2.

 

SEGUE O PHP 1

 

<html>

<body>

<?

$id = $_GET["id"];

settype($id, "integer");

echo($id);

?>

<form action="envia.php?id=$id" method="post" enctype="multipart/form-data">

Enviar o arquivo: <input type="file" name="arquivo" size="50"><br>

<input type="submit" value="Enviar">

</form>

</body>

</html>

 

 

SEGUE O PHP 2

 

<?

@ini_set('display_errors', '1');

error_reporting(E_ALL);

 

$id = $_GET["id"];

settype($id, "integer");

 

echo($arquivo_name);

echo("---");

echo($id);

 

//Apaga fotos do produto existentes para substituir

$db['host'] = "localhost";

$db['username'] = "user";

$db['password'] = "pass";

mysql_connect($db['host'], $db['username'], $db['password']);

mysql_select_db("base");

mysql_query("delete from fotos where id = $id");

mysql_close();

 

//Faz o upload do arquivo

$pasta = "images/grd"; //Nome da pasta para onde vão os arquivos

if (copy($arquivo,"$pasta/".$arquivo_name)){

echo("<font face=verdana size=1><b>Arquivo enviado com sucesso!</b></font>");

}else{

echo ("<font face=verdana size=1><b>Erro no envio do arquivo!</b></font>");

}

 

//Salva o nome do novo arquivo no BD

 

?>

<style type="text/css">

<!--

.style2 {color: #FFFFFF}

body {

background-color: #000099;

}

-->

</style>

 

 

<a href="cadastro.html">Voltar</a>

 

 

PRONTO

 

OBS.: O UPLOAD DO ARQUIVO ESTÁ FUNCIONANDO NORMALMENTE, ESTÁ TUDO CERTO.... E OUTRA, NO PHP 1, ESSA VARIÁVEL JÁ ESTÁ VINDO DE UM OUTRO ARQUIVO E NELA FUNCIONA NORMALMENTE.... CREIO QUE POSSA EXISTIR ALGUM ERRO NA FORMA QUE ESTÁ SENDO ENVIADO NO FORMULÁRIO DO PHP 1, POIS É A ÚNICA COISA QUE VEJO QUE ESTÁ DIFERENTE DO OUTRO ARQUIVO QUE ESTÁ FUNCIONANDO NORMAL...

NO OUTRO ESTÁ ASSIM O ENVIO DA VARIÁVEL....

 

<?php

if(mysql_num_rows($resultado) < 1) {

exit;

}

?>

<table width="714" border="1" align="center">

<tr>

<th width="28" nowrap>ID</th>

<th width="200" nowrap>Categoria</th>

<th width="200" nowrap>Título</th>

<th width="200" nowrap>Fabricante</th>

<th width="200" nowrap>Marca</th>

<th width="200" nowrap>Modelo</th>

<th width="1000" nowrap>Descrição</th>

<th width="1000" nowrap>Observações</th>

<th width="200" nowrap>Valor Unitário</th>

<th width="100" nowrap>Promoção</th>

<th width="136" nowrap>EDITAR/EXCLUIR</th>

</tr>

<?php

while($l = mysql_fetch_array($resultado)) {

$id = $l["id"];

$categoria = $l["categoria"];

$titulo = $l["titulo"];

$fabricante = $l["fabricante"];

$marca = $l["marca"];

$modelo = $l["modelo"];

$descricao = $l["descricao"];

$observacoes = $l["observacoes"];

$valorunitario = $l["valorunitario"];

$Promocao = $l["Promocao"];

 

echo"

<tr>

<td>$id</td>

<td>$categoria</td>

<td>$titulo</td>

<td>$fabricante</td>

<td>$marca</td>

<td>$modelo</td>

<td>$descricao</td>

<td>$observacoes</td>

<td>$valorunitario</td>

<td>$Promocao</td>

<td><a href=\"editar.php?id=$id\">[Editar]</a> | <a href=\"excluir.php?id=$id\">[Excluir]</a> | <a href=\"enviar.php?id=$id\">[Anexar Foto]</a></td>

</tr>\n";

}

?>

</table>

</body>

</html>

 

ELE ESTÁ CHAMANDO A PÁGINA PHP ATRAVÉS DE UM LINK E NÃO POR UM FORMULÁRIO ENVIANDO UM ARQUIVO...

 

E AÍ... ALGUÉM SE HABILITA?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo axo que você está enviando errado no form tente assim

 

form action="envia.php?id=<? echo $id ?>" method="post" enctype="multipart/form-data">

 

Acho que é esse teu problema, pois o id está ganhando o valor de "$id"

 

Tenta ae...

 

Abraço,

mmb

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grande mmb!!!!!!!!!!

 

MATOU A XARADA!!!!!!!!!!!!

 

FUNCIONOU PESSOAL, ERA ISSO MESMO..... AGORA ENTENDI.... A ÁREA DO FORM QUE ESTAVA ENVIANDO ESTAVA COMO HTML E A VARIÁVEL PRECISA SER ENVIADA COMO PHP..... NUNCA MAIS ESQUEÇO ISSO!!!!

 

OBRIGADO MESMO, SALVOU MEU DIA!!!!!!!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Po.. agora que li o topico... no primeiro post eu vi seu erro.... ahahhahahahaha!!! Fui lendo o resto dos posts pra ver se alguem falava do erro... mas beleza!! Boa sorte!!

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.