Ir para conteúdo

POWERED BY:

Arquivado

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

Skolacho

[Resolvido] GET - Vejam o codigo.

Recommended Posts

Olá pessoal,

 

Preciso de ajuda com GET do ID cadastrado. O codigo vai a seguir:

 

<? include('config.php'); 
 ?>
<?
$nsinistro = $_POST['nsinistro'];
$placa = $_POST['placa'];
$diamesano = $_POST['diamesano'];
$cliente = $_POST['cliente'];
$processo = $_POST['processo'];

if (strlen($placa) <= 3)
echo "Não deixe o campo placa em branco!<BR> <a href=\"java script:history.back(1);\">Voltar</a>";
elseif (strlen($diamesano) <= 3)
echo "Não deixe o campo Dia e Mês em branco!<BR> <a href=\"java script:history.back(1);\">Voltar</a>";
elseif (strlen($cliente) <= 3)
echo "Não deixe o campo cliente em branco!<BR> <a href=\"java script:history.back(1);\">Voltar</a>";
elseif (strlen($processo) <= 3)
echo "Não deixe o campo processo em branco!<BR> <a href=\"java script:history.back(1);\">Voltar</a>";
else {

if(mkdir ("$cliente/" . mysql_insert_id, 0777))

$query = "INSERT INTO sinistros (placa,diamesano,cliente,processo) VALUES ('$placa','$diamesano','$cliente','$processo')";
	mysql_query($query);
	echo ("<font face='Verdana, Arial' size='1'><center>Sinistro cadastrado com sucesso!<br><a href=\"cad_foto.php\">Clique aqui para adicionar fotos ao sinistro!</a></center></font>");

printf("Last inserted record has id %d\n", mysql_insert_id()); }
?>

Nesse codigo, como podem reparar tem o codigo para criar uma pasta com o ID cadastrado.

 

A ajuda é o seguinte, para buscar o ID e conseguir por ele ali para criar a pasta?

 

Obrigado!

 

Aguardo respostas com certa urgência.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depois de inserir faça uma consulta pelo ultimo registro. Agora é só criar o diretório com base na consulta.

$dir = 'diretorio_pai/'.$consulta['id'];
  // cria o diretorio com a permissao 0777
  if(mkdir($dir, 0777, true)){
	echo "Diretorio criado com sucesso.";
  }else{
	echo "Nao foi possivel criar o diretorio.";  
  }

beleza?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para pegar o último id inserido, pode fazer assim

mysql_query($query);
$id = mysql_insert_id();
echo ("<font face='Verdana, Arial' size='1'><center>Sinistro cadastrado com sucesso!<br><a href=\"cad_foto.php?id=$id\">Clique aqui para adicionar fotos ao sinistro!</a></center></font>");

Na outra página, para pegar o ID, você faz assim

$id = $_GET['id'];

Não esqueça de tratar contra Sql Injection

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Os codigos que mandaram não conseguir complementar ao meu.

 

Estou precisando disso urgentemente e não estou conseguindo resolver. :S

 

Alguém poderia mandar o codigo já pronto igual o meu, que funfe. ;x

 

Por favor, caso de vida ou morte! ;/

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte, quando faço cadastro cria a pasta e talz, mais porquê não cria a pasta com o 0 antes do número.

 

No banco de dados cadastra por exemplo: 0001, 0002, 0003, ...

 

Na hora de criar a pasta cria só o 1, 2, 3, ...

 

Porquê?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<? include('config.php'); 
 ?>
<?

$placa = $_POST['placa'];
$diamesano = $_POST['diamesano'];
$dir = $_POST['cliente'];
$processo = $_POST['processo'];

if (strlen($placa) <= 3)
echo "Não deixe o campo placa em branco!<BR> <a href=\"java script:history.back(1);\">Voltar</a>";
elseif (strlen($diamesano) <= 3)
echo "Não deixe o campo Dia e Mês em branco!<BR> <a href=\"java script:history.back(1);\">Voltar</a>";
elseif (strlen($dir) <= 3)
echo "Não deixe o campo cliente em branco!<BR> <a href=\"java script:history.back(1);\">Voltar</a>";
elseif (strlen($processo) <= 3)
echo "Não deixe o campo processo em branco!<BR> <a href=\"java script:history.back(1);\">Voltar</a>";
else {

$query = "INSERT INTO sinistros (nsinistro,placa,diamesano,cliente,processo) VALUES ('$nsinistro','$placa','$diamesano','$dir','$processo')";
	mysql_query($query);
	echo ("<font face='Verdana, Arial' size='1'><center>Sinistro cadastrado com sucesso!<br><a href=\"cad_foto.php\">Clique aqui para adicionar fotos ao sinistro!</a></center></font>");

$nsinistro = mysql_insert_id();
if(mkdir ("$dir/00$nsinistro", 0777));

}
?>

Ai está o codigo da página, está criando a pasta com o ultimo ID criado, como quero. Mais não está criando com os zeros na frente.

 

No banco de dados está auto_increment e UNSIGNED ZEROFILL para criar os zeros antes do número.

 

Na hora de buscar os valores da BD, volta com os zeros na frente e talz. Só na hora de criar a pasta cria sem os zeros, cria apenas o número.

 

Alguém sabe resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

if(mkdir ("$dir/00$nsinistro", 0777));

Essa parte do codigo que cria pasta se localiza no final dps do INSERT

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro... Desculpe... não tinha visto o final do código...

 

Segundo... Vamos debugar esta coisa...

 

Troca isto

$nsinistro = mysql_insert_id();
if(mkdir ("$dir/00$nsinistro", 0777));

Por isto

$nsinistro = mysql_insert_id();
echo 'O número do sinistro é - '.$nsinistro;
//if(mkdir ("$dir/00$nsinistro", 0777)); comenta esta linha só por enquanto.

Provavelmente o problema é que na hora de puxar ele mate os zeros. Para colocar novamente, use o sprintf.

 

http://br.php.net/sprintf

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu coloquei os dois zeros na frente da variavel é pra criar a pasta com dois zeros.

 

Mais isso dá errado quando chegar no 100. ;/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por isto o sprintf.

 

Vou te dar um exemplo.

 

$nsinistro = mysql_insert_id();
echo 'O número do sinistro antes do sprintf é - '.$nsinistro;
echo '<br/>O número do sinistro depois do sprintf é - '.sprintf("%04s",$nsinistro);
//if(mkdir ("$dir/00$nsinistro", 0777)); comenta esta linha só por enquanto.

Veja o que imprime.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voltou isso:

 

O número do sinistro antes do sprintf é - 17

O número do sinistro depois do sprintf é - 0017

 

Certo, mostrou os zeros. Mais como faço para criar a pasta com esses zeros?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voltou o seguinte erro:

 

Parse error: parse error in C:\xampp\htdocs\EIE\clientes\cad.sinistro.php on line 27

 

25 - $nsinistro = mysql_insert_id();
26 - $nsinistro  = sprintf("%04s",$nsinistro)
27 - if(mkdir ("$dir/$nsinistro", 0777));

O que é?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu te AMO. =)

 

Acabas de salvar minha vida.

 

Você está de parabéns, obrigado!

 

Abraços!

 

Tenho mais uma dúvida, mais vou tentar resolver ela sozinho. Para mostrar todas as imagens de uma pasta. ^^

 

Vlw ae

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.