Skolacho 0 Denunciar post Postado Junho 30, 2009 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
Claudiobrother 2 Denunciar post Postado Junho 30, 2009 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
Matias Rezende 50 Denunciar post Postado Junho 30, 2009 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
Skolacho 0 Denunciar post Postado Julho 9, 2009 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
Skolacho 0 Denunciar post Postado Julho 9, 2009 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
Matias Rezende 50 Denunciar post Postado Julho 9, 2009 O teu código de criar pasta não está ali. Poste ele aí pra gente olhar. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Skolacho 0 Denunciar post Postado Julho 9, 2009 <? 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
Matias Rezende 50 Denunciar post Postado Julho 9, 2009 Neste código que você colocou não cria pasta nenhuma. Qual é o código que cria a pasta??? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Skolacho 0 Denunciar post Postado Julho 9, 2009 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
Matias Rezende 50 Denunciar post Postado Julho 9, 2009 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
Skolacho 0 Denunciar post Postado Julho 9, 2009 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
Matias Rezende 50 Denunciar post Postado Julho 9, 2009 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
Skolacho 0 Denunciar post Postado Julho 9, 2009 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
Matias Rezende 50 Denunciar post Postado Julho 9, 2009 Fala sério, né... $nsinistro = mysql_insert_id(); $nsinistro = sprintf("%04s",$nsinistro) if(mkdir ("$dir/$nsinistro", 0777)); Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Skolacho 0 Denunciar post Postado Julho 9, 2009 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
Matias Rezende 50 Denunciar post Postado Julho 9, 2009 Fala sério [2]... Falta um ; Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Skolacho 0 Denunciar post Postado Julho 9, 2009 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