Ir para conteúdo

POWERED BY:

Arquivado

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

santans

Gerador de paginas web

Recommended Posts

Desejo saber como crio um gerador PHP de paginas html.

Por exemplo quando alguém cria um perfil no meu site, o gerador criaria uma pagina no sistema a partir de uma pagina pre molde já feita.

no caso seria para um e-comerce.

Outro exemplo quando eu cadastro um produto e é gerada uma pagina para este tal produto.

Se houver algum sistema mais simples para me indicarem fiquem a vontade.

Nota: Não sou um programador experiente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, com php é simples desde-que saiba como salvar os registros em ordem em um banco de dados.

48 minutos atrás, santans disse:

a partir de uma pagina pre molde já feita

Nada mais é que criar a página com o layout e tudo mais, sem as informações de qualquer perfil.

Então ao acessar a página você busca os dados daquele usuário e preenche os campos com as informações daquele perfil.

 

Não tem uma forma fácil de explicar, espero que tenha compreendido, é criar uma pagina base onde os dados são colocados de acordo com os resultados de um consulta realizada.

Veja uma página assim para perfil de usuários, de um site que fiz:

Spoiler

<?php
require_once (__DIR__ . '/../../system/runtime.php');
$str = new StrClean();
$get = GlobalFilter::filterGet();
if (isset($get->action)) {
    $get->b = $get->action;
}
try {
    if (!isset($get->b)) {
        include (__DIR__ . '/default.php');
    } else {
        $profile = $str->clearUrl($get->b);
        $select = new Select();
        $select->selectQuery("register", "hash = :datauser", "datauser={$profile}");
        if ($select->selectError()) {
            throw new ConstException($select->selectError(), ConstException::SYSTEM_ERROR);
        } else if (!$select->selectCount()) {
            throw new ConstException('Dados inexistentes.', ConstException::NOT_FOUND);
        } else {
            $userData = $select->selectResult()[0];
            ?>
            <script src="lib/javascript/cidades-estados.js"></script>
            <div id="profile-data">
                <div class="font-large text-grey align-right margin-bottom-min page-title">
                    <?= ($userData->name == @$session->user->name) ? 'Meu Perfil' : 'Dados de ' . $str->longText($userData->name, 30); ?>
                </div>
                <div class="floating">
                    <div class="col-33 float-left">
                        <div class="profile-photo">
                            <?php if (empty($userData->photo)) { ?>
                                <img src="lib/images/perfil.jpg" alt="perfil" class="image-photo-big shadow" />
                            <?php } else { ?>
                                <img src="lib/uploads/<?= $userData->photo ?>?rand=<?= time(); ?>" class="image-photo-big" />
                                <?php
                            }
                            if (isset($session->user) && $session->user->id == $userData->id) {
                                ?>
                                <button class="btn-default button-block" onclick="maincore.modalGet('includes/upload_photo.inc.php', 'Foto', true);">Enviar Foto/Logo &nbsp; <i class="fa fa-picture-o"></i></button>
                            <?php } else if (isset($session->user) && $session->user->level >= 2) { ?>
                                <button class="btn-danger button-block text-white" onclick="maincore.modalGet('confirm/erase-photo.php?action=<?= $userData->hash; ?>', 'Apagar Foto', true)">Remover Foto &nbsp; <i class="fa fa-trash-o"></i></button>
                            <?php } ?>
                        </div>

                    </div>
                    <div class="over-not maximize-b font-default profile-desc">
                        <div class="row-pad">
                            <div class="col-49 over-text">
                                <div class="input-line"><span class="bold">Nome</span>: <?= $userData->name ?></div>
                            </div>
                            <div class="col-49 over-text">
                                <div class="input-line"><span class="bold">E-Mail</span>: <?= $userData->mail; ?></div>
                            </div>
                            <div class="col-49 over-text">
                                <div class="input-line"><span class="bold">Telefone</span>: <?= $userData->contact; ?></div>
                            </div>
                            <div class="col-49 over-text">
                                <div class="input-line"><span class="bold">Data de Registro</span>: <?= $str->invertDate($userData->joindate); ?></div>
                            </div>
                            <div class="col-49 over-text">
                                <div class="input-line"><span class="bold">Cidade</span>: <?= empty($userData->citie) ? 'Não Informado' : $userData->citie ?></div>
                            </div>
                            <div class="col-49 over-text">
                                <div class="input-line"><span class="bold">Estado</span>: <?= empty($userData->country) ? 'Não Informado' : $userData->country ?></div>
                            </div>
                            <div class="col-99 over-text">
                                <div class="input-line"><span class="bold">Endereço</span>: <?= empty($userData->district) ? 'Não informado' : $userData->district ?></div>
                            </div>
                            <?php if (isset($session->user) && ($session->user->id == $userData->id || $session->user->level >= 2)) { ?>
                                <div class="col-49 over-text">
                                    <div class="input-line"><span class="bold">Data de Revogação</span>: <?= $str->invertDate($userData->expire_date); ?></div>
                                </div>
                                <div class="col-49 over-text">
                                    <div class="input-line"><span class="bold">CPF/CNPJ</span>: <?= $userData->cpnj; ?></div>
                                </div>
                            <?php } ?>
                        </div>
                        <?php if (isset($session->user)) { ?>
                            <div class="floating margin-top">
                                <?php if ($session->user->id == $userData->id || $session->user->level >= 2) { ?>
                                    <div class="box-fluid-49b float-left padding-top-min">
                                        <div class="font-medium text-white">
                                            <button class="btn-info button-block" onclick="maincore.ajaxGet('profile-data', 'modules/includes/profile_edit.inc.php?action=<?= $get->b ?>&action_b=<?= $userData->hash ?>&rand=<?= time() ?>', null);">Editar Perfil &nbsp; <i class="fa fa-paste"></i></button>
                                        </div>
                                    </div>
                                    <?php
                                }
                                if (($session->user->id != $userData->id && $userData->level >= 2) || ($session->user->level >= 2 && $session->user->id != $userData->id)) {
                                    ?>
                                    <div class="box-fluid-49b float-left padding-top-min">
                                        <div class="font-medium text-white">
                                            <button class="btn-dark button-block" title="Enviar mensagem para <?= $userData->name ?>" onclick="maincore.ajaxGet('profile-data', 'modules/includes/send_msg.inc.php?action=<?= $userData->hash ?>', null)">Enviar Mensagem &nbsp; <i class="fa fa-envelope"></i></button>
                                        </div>
                                    </div>
                                <?php } ?>
                            </div>
                        <?php } ?>
                    </div>
                </div>
                <div class="margin-top">
                    <div class="bg-light padding-all-min">
                        <p class="font-medium bold">Serviço</p>
                        <p><?= $userData->job ?></p>
                    </div>
                    <div class="padding-all-min">
                        <?= empty($userData->service) ? 'Não há informações sobre o serviço prestado' : html_entity_decode($userData->service); ?>
                    </div>
                </div>
            </div>
            <script>
                function uploadPhoto() {
                    maincore.modalGet('modules/includes/upload_photo.inc.php', 'Foto do Perfil', true);
                }
            </script>
            <?php
        }
    }
} catch (ConstException $e) {
    switch ($e->getCode()) {
        case ConstException::SYSTEM_ERROR:
            echo ("<div class=\"align-center margin-tb-high font-jumbo text-red\">"
            . "<i class=\"fa fa-frown-o fa-5x\"></i>"
            . "<div class=\"padding-top\">Erro ao requisitar dados</p>Comunique ao administrador do sistema esse erro!"
            //. "<p>{$e->getMessage()}</p>" //Criar log de erros
            . "</div>");
            break;
        case ConstException::MISC_RETURN:
        case ConstException::NOT_FOUND:
            include (__DIR__ . '/not_found.php');
            break;
    }
}

 

 

Sobre gerar um arquivo para cada usuário, sim é possível e fácil de fazer.

Mas desaconselhável ficar sobrecarregando espaço com um coisa que pode se feita de forma mais prática como citei acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 horas atrás, Omar~ disse:

Então, com php é simples desde-que saiba como salvar os registros em ordem em um banco de dados.

Nada mais é que criar a página com o layout e tudo mais, sem as informações de qualquer perfil.

Então ao acessar a página você busca os dados daquele usuário e preenche os campos com as informações daquele perfil.

 

Não tem uma forma fácil de explicar, espero que tenha compreendido, é criar uma pagina base onde os dados são colocados de acordo com os resultados de um consulta realizada.

Veja uma página assim para perfil de usuários, de um site que fiz:

  Ocultar conteúdo


<?php
require_once (__DIR__ . '/../../system/runtime.php');
$str = new StrClean();
$get = GlobalFilter::filterGet();
if (isset($get->action)) {
    $get->b = $get->action;
}
try {
    if (!isset($get->b)) {
        include (__DIR__ . '/default.php');
    } else {
        $profile = $str->clearUrl($get->b);
        $select = new Select();
        $select->selectQuery("register", "hash = :datauser", "datauser={$profile}");
        if ($select->selectError()) {
            throw new ConstException($select->selectError(), ConstException::SYSTEM_ERROR);
        } else if (!$select->selectCount()) {
            throw new ConstException('Dados inexistentes.', ConstException::NOT_FOUND);
        } else {
            $userData = $select->selectResult()[0];
            ?>
            <script src="lib/javascript/cidades-estados.js"></script>
            <div id="profile-data">
                <div class="font-large text-grey align-right margin-bottom-min page-title">
                    <?= ($userData->name == @$session->user->name) ? 'Meu Perfil' : 'Dados de ' . $str->longText($userData->name, 30); ?>
                </div>
                <div class="floating">
                    <div class="col-33 float-left">
                        <div class="profile-photo">
                            <?php if (empty($userData->photo)) { ?>
                                <img src="lib/images/perfil.jpg" alt="perfil" class="image-photo-big shadow" />
                            <?php } else { ?>
                                <img src="lib/uploads/<?= $userData->photo ?>?rand=<?= time(); ?>" class="image-photo-big" />
                                <?php
                            }
                            if (isset($session->user) && $session->user->id == $userData->id) {
                                ?>
                                <button class="btn-default button-block" onclick="maincore.modalGet('includes/upload_photo.inc.php', 'Foto', true);">Enviar Foto/Logo &nbsp; <i class="fa fa-picture-o"></i></button>
                            <?php } else if (isset($session->user) && $session->user->level >= 2) { ?>
                                <button class="btn-danger button-block text-white" onclick="maincore.modalGet('confirm/erase-photo.php?action=<?= $userData->hash; ?>', 'Apagar Foto', true)">Remover Foto &nbsp; <i class="fa fa-trash-o"></i></button>
                            <?php } ?>
                        </div>

                    </div>
                    <div class="over-not maximize-b font-default profile-desc">
                        <div class="row-pad">
                            <div class="col-49 over-text">
                                <div class="input-line"><span class="bold">Nome</span>: <?= $userData->name ?></div>
                            </div>
                            <div class="col-49 over-text">
                                <div class="input-line"><span class="bold">E-Mail</span>: <?= $userData->mail; ?></div>
                            </div>
                            <div class="col-49 over-text">
                                <div class="input-line"><span class="bold">Telefone</span>: <?= $userData->contact; ?></div>
                            </div>
                            <div class="col-49 over-text">
                                <div class="input-line"><span class="bold">Data de Registro</span>: <?= $str->invertDate($userData->joindate); ?></div>
                            </div>
                            <div class="col-49 over-text">
                                <div class="input-line"><span class="bold">Cidade</span>: <?= empty($userData->citie) ? 'Não Informado' : $userData->citie ?></div>
                            </div>
                            <div class="col-49 over-text">
                                <div class="input-line"><span class="bold">Estado</span>: <?= empty($userData->country) ? 'Não Informado' : $userData->country ?></div>
                            </div>
                            <div class="col-99 over-text">
                                <div class="input-line"><span class="bold">Endereço</span>: <?= empty($userData->district) ? 'Não informado' : $userData->district ?></div>
                            </div>
                            <?php if (isset($session->user) && ($session->user->id == $userData->id || $session->user->level >= 2)) { ?>
                                <div class="col-49 over-text">
                                    <div class="input-line"><span class="bold">Data de Revogação</span>: <?= $str->invertDate($userData->expire_date); ?></div>
                                </div>
                                <div class="col-49 over-text">
                                    <div class="input-line"><span class="bold">CPF/CNPJ</span>: <?= $userData->cpnj; ?></div>
                                </div>
                            <?php } ?>
                        </div>
                        <?php if (isset($session->user)) { ?>
                            <div class="floating margin-top">
                                <?php if ($session->user->id == $userData->id || $session->user->level >= 2) { ?>
                                    <div class="box-fluid-49b float-left padding-top-min">
                                        <div class="font-medium text-white">
                                            <button class="btn-info button-block" onclick="maincore.ajaxGet('profile-data', 'modules/includes/profile_edit.inc.php?action=<?= $get->b ?>&action_b=<?= $userData->hash ?>&rand=<?= time() ?>', null);">Editar Perfil &nbsp; <i class="fa fa-paste"></i></button>
                                        </div>
                                    </div>
                                    <?php
                                }
                                if (($session->user->id != $userData->id && $userData->level >= 2) || ($session->user->level >= 2 && $session->user->id != $userData->id)) {
                                    ?>
                                    <div class="box-fluid-49b float-left padding-top-min">
                                        <div class="font-medium text-white">
                                            <button class="btn-dark button-block" title="Enviar mensagem para <?= $userData->name ?>" onclick="maincore.ajaxGet('profile-data', 'modules/includes/send_msg.inc.php?action=<?= $userData->hash ?>', null)">Enviar Mensagem &nbsp; <i class="fa fa-envelope"></i></button>
                                        </div>
                                    </div>
                                <?php } ?>
                            </div>
                        <?php } ?>
                    </div>
                </div>
                <div class="margin-top">
                    <div class="bg-light padding-all-min">
                        <p class="font-medium bold">Serviço</p>
                        <p><?= $userData->job ?></p>
                    </div>
                    <div class="padding-all-min">
                        <?= empty($userData->service) ? 'Não há informações sobre o serviço prestado' : html_entity_decode($userData->service); ?>
                    </div>
                </div>
            </div>
            <script>
                function uploadPhoto() {
                    maincore.modalGet('modules/includes/upload_photo.inc.php', 'Foto do Perfil', true);
                }
            </script>
            <?php
        }
    }
} catch (ConstException $e) {
    switch ($e->getCode()) {
        case ConstException::SYSTEM_ERROR:
            echo ("<div class=\"align-center margin-tb-high font-jumbo text-red\">"
            . "<i class=\"fa fa-frown-o fa-5x\"></i>"
            . "<div class=\"padding-top\">Erro ao requisitar dados</p>Comunique ao administrador do sistema esse erro!"
            //. "<p>{$e->getMessage()}</p>" //Criar log de erros
            . "</div>");
            break;
        case ConstException::MISC_RETURN:
        case ConstException::NOT_FOUND:
            include (__DIR__ . '/not_found.php');
            break;
    }
}

 

 

Sobre gerar um arquivo para cada usuário, sim é possível e fácil de fazer.

Mas desaconselhável ficar sobrecarregando espaço com um coisa que pode se feita de forma mais prática como citei acima.

a sim entendi o que você quis dizer uma unica pagina que ao ser aberta carrega as informações do perfil que a pessoa que fez login, e as distribui sobre os campos ex: foto, nome, capa etc...

 

isso se aplica a produtos, sabe se na alura ensina isso eu tenho assinatura la

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Rafael_Ferreira
      Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha. 
       
       
    • Por luiz monteiro
      Olá.
      Estou atualizando meu conhecimento com Front-End e me deparei com o seguinte problema.
      Criei um sistema para fazer o upload de imagens e alguns campos text.
      Algo bem simples para depois começar a estudar javascript para mostrar a miniatura....
      Mas quando saio do navegador Chrome ou da aba por mais de 3 minutos, ao retornar o navegador as vezes atualiza ou nem chega atualizar mas limpa os campos.
      Estou usando um Smart Motorola com Android, mas um amigo testou no iPhone e acontece a mesma coisa.
      Gostaria de saber se há como usar javascript para evitar isso?
      Agradeço desde já.

      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <title>Uploader</title>
      </head>
      <body>
          <form action="?" method="post" enctype="multipart/form-data">
              <br><br>
              <div>selecione a imagem 1</div>
              <input type="file" name="foto1" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem1">
              
              <br><br>
              <input type="file" name="foto2" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem2">
              
              <br><br>

              <input type="file" name="foto3" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem3">
              
              <br><br>
              <input type="submit" value="Enviar">
              <br><br>
          </form>
      <?php
      if ($_SERVER['REQUEST_METHOD'] == 'POST')
      {
          vardump ($_FILES);
      }
      ?>
      </body>
      </html>
       
       
       
    • Por belann
      Olá!
       
      Estou usando o nextjs versão 15.2.3 e criei uma navbar que quando é carregado o programa aparece com a home, mas na hora de clicar na página produtos desaparece a navbar.
      A navbar esta sendo chamada no layout.tsx estou usando typescript
      e fica dessa forma
      <div>           <Navbar/>             <main>{children}</main>             </div>  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.