Advertisement
MizunoBrasil

Gera Slug a partir do Campo Nome e grava no Banco

Feb 28th, 2023 (edited)
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.76 KB | None | 0 0
  1. inserir.php
  2.  
  3.  
  4. <html>
  5. <title></title>
  6. <head>
  7. <meta charset="UTF-8">
  8.  
  9. </head>
  10. <body>
  11. </body>
  12. </html>
  13. <?php
  14. $nome = $_POST['nome'];
  15. $tipo = $_POST['tipo'];
  16. $descricao = $_POST['descricao'];
  17.  
  18. // Cria o slug a partir do nome
  19. $slug = strtr($nome, array(
  20.     'À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A',
  21.     'à' => 'a', 'á' => 'a', 'â' => 'a', 'ã' => 'a', 'ä' => 'a', 'å' => 'a',
  22.     'È' => 'E', 'É' => 'E', 'Ê' => 'E', 'Ë' => 'E',
  23.     'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e',
  24.     'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I',
  25.     'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i',
  26.     'Ò' => 'O', 'Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ö' => 'O', 'Ø' => 'O',
  27.     'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ö' => 'o', 'ø' => 'o',
  28.     'Ù' => 'U', 'Ú' => 'U', 'Û' => 'U', 'Ü' => 'U',
  29.     'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ü' => 'u',
  30.     'Ý' => 'Y', 'ý' => 'y', 'ÿ' => 'y',
  31.     'Ç' => 'C', 'ç' => 'c',
  32.     'Ñ' => 'N', 'ñ' => 'n',
  33.     'Š' => 'S', 'š' => 's', 'Ž' => 'Z', 'ž' => 'z',
  34.     'æ' => 'ae', 'Æ' => 'AE', 'œ' => 'oe', 'Œ' => 'OE',
  35.     'ß' => 'ss'
  36. ));
  37.  
  38. // Atribui à variavel slug para receber o valor "desmembrado/quebrado" da variável nome recebida no formulário.
  39. //O valor recebido nessa nova variável $slug será gravada no banco no campo slug (poderia ser qualquer outro nome mas pra fins de //entendimento escolhi slug mesmo
  40.  
  41. $slug = strtolower(preg_replace('/[^\w]+/', '-', trim($slug), -1));
  42.  
  43.  
  44.  
  45.  
  46.  
  47. // Configura as informações de conexão ao banco de dados
  48. $servidor = "localhost";
  49. $usuario = "root";
  50. $senha = "";
  51. $banco = "imagens";
  52.  
  53. // Conecta ao banco de dados usando PDO
  54. try {
  55.     $conexao = new PDO("mysql:host=$servidor;dbname=$banco", $usuario, $senha);
  56.     $conexao->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  57.  
  58.     // Insere a informação na tabela imagens
  59.     $sql = "INSERT INTO imagens (nome, tipo, caminho, slug, descricao)
  60.             VALUES (:nome, :tipo, :caminho, :slug, :descricao)";
  61.     $stmt = $conexao->prepare($sql);
  62.  
  63.     // Obtém o nome e o caminho do arquivo enviado
  64.     //$nome_arquivo = $_FILES['caminho']['name'];
  65.    
  66.    
  67.     // Obtém o nome e o caminho do arquivo enviado
  68. $nome_arquivo = basename($_FILES['caminho']['name']);
  69. $caminho_arquivo = $_FILES['caminho']['tmp_name'];
  70.  
  71. // Move o arquivo para a pasta images
  72. move_uploaded_file($caminho_arquivo, 'images/' . $nome_arquivo);
  73.  
  74. // Executa a query com os parâmetros
  75. $stmt->execute(array(':nome' => $nome, ':tipo' => $tipo, ':caminho' => $nome_arquivo, ':slug' => $slug, ':descricao' => $descricao));
  76.  
  77.    
  78.  
  79.     // Redireciona para a página de sucesso
  80.     header('Location: sucesso.php');
  81. } catch(PDOException $e) {
  82.     echo "Erro: " . $e->getMessage();
  83. }
  84. $conexao = null;
  85. ?>
  86.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement