Ir para conteúdo

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 ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
×

Informação importante

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