Ir para conteúdo

POWERED BY:

Arquivado

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

alefpr

Ao clicar em voltar o script reseta [PROBLEMA]

Recommended Posts

<?php
echo "<body background=\"fundo2.jpg\">";
echo "</body>";
$linhas = file("senhas.txt");


$quant = count($linhas)-1;

if (!isset($_GET['linha'])) {
    $i = 0;
    echo "<h3>";
    echo "<font size='5' face='verdana' color='white'>";
    echo "Chamar Proxima Senha <a href='?linha=1'>>>CLIQUE AQUI<<</a>";
    echo "</font>";
    echo "<hr>";
    echo "</h3>";
} else {
    $i = $_GET['linha'];
    if($i==$quant){ //caso tenha sido a ultima linha ou $_GET['linha']=0
    }else{ // caso não tenha sido a ultima linha
        echo "<h3>";
        echo "<font size='5' face='verdana' color='white'>";
        echo "Chamar Proxima Senha <a  href='?linha=" . ($i+1) . "'>>>CLIQUE AQUI<<</a>";;
        echo "</font>";
        echo "<hr>";
        echo "</h3>";
    }
}
echo " <font size='5'color='white'><center>Senha</br>
 <font size='6' face='arial black' color='red'> ".$linhas[$i];
echo "</br></font>dirija-se ao caixa de atendimento</font></center>";
?>
<br/><a href='newbie.html'>Voltar<a/>

Essa é uma parte do código que exibe senhas geradas (que são acessadas via .txt), quando clico para chamar as senhas, elas são exibidas linha por linha (até aí sem problemas),

 

MAS quando clico em Voltar e tento chamar uma nova senha ela volta para o início (o PHP volta a ler a primeira linha do arquivo txt), eu queria que o php continuasse a leitura de onde parou . Ex: A última senha gerada foi XYZ-1, quando clicar em Voltar e depois em Chamar Proxima Senha, a senha exibida seria a sucessora da XYZ-1, no caso seria XYZ-2, por exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Suponho que esse arquivo aí seja o newbie.html que no mínimo deveria ser .php, enfim isso não importa porque o apache é bonzinho e aceita essa situação.

 

No caso a variável $i é quem está definindo a linha atual então basta informar essa variável no link

<a href="newbie.html/?linha=<?= (isset($i) && $i > 1 ? $i : 1) ?>">Voltar</a>

Se variável $i existir e se ela for maior que 1, imprima ela, do contrário imprima 1

Não esqueça que a TAG A deve ser terminada assim </a> e não <a/>

 

Outro detalhe é que vi a abertura do arquivo e não a leitura do mesmo pelo read

 

Ah mais uma coisa não que isso importe mas você abre a tag BODY e logo em seguida fecha ela, após isso você imprime dados na tela através do comando echo. Ou seja está desenhando o html de forma errada, o navegador mostra porque ele é bonzinho, mas isso está errado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma coisinha, esse arquivo não é HTML, é PHP, ele referencia um HTML que tenho aqui.

Obrigado por tirar a minha dúvida e dar sugestões de como melhorar o código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me permita tirar uma dúvida com os amigos.

      Tenho um Formulário onde o Usuário digita todos os Dados necessários.

      Minha dúvida:
      --> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?

      Grato,
       
      Cesar
    • Por Carcleo
      Tenho uma abela de usuarios e uma tabela de administradores e clientes.
      Gostaria de uma ajuda para implementar um cadastro
       
      users -> name, login, passord (pronta) admins -> user_id, registratiom, etc.. client -> user_id, registratiom, etc...
      Queria ajuda para extender de user as classes Admin e Client
      Olhem como estáAdmin
      <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Admin extends User {     use HasFactory;            protected $fillable = [         'name',         'email',         'password',         'registration'     ];      private string $registration;     public function create(         string $name,          string $email,          string $password,         string $registration     )     {         //parent::create(['name'=>$name, 'email'=>$email, 'password'=>$password]);         parent::$name = $name;         parent::$email = $email;         parent::$password = $password;         $this->registration = $registration;     } } User
      <?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class User extends Authenticatable {     /** @use HasFactory<\Database\Factories\UserFactory> */     use HasFactory, Notifiable;     static string $name;     static string $email;     static string $password;     /**      * The attributes that are mass assignable.      *      * @var list<string>      */     protected $fillable = [         'name',         'email',         'password',     ];          /**      * The attributes that should be hidden for serialization.      *      * @var list<string>      */     protected $hidden = [         'remember_token',     ];     /**      * Get the attributes that should be cast.      *      * @return array<string, string>      */     protected function casts(): array     {         return [             'email_verified_at' => 'datetime',             'password' => 'hashed',         ];     }          public function roles() : BelongsToMany {         return $this->belongsToMany(Role::class);     }       public function hasHole(Array $roleName): bool     {                 foreach ($this->roles as $role) {             if ($role->name === $roleName) {                 return true;             }         }         return false;     }         public function hasHoles(Array $rolesName): bool     {                 foreach ($this->roles as $role) {             foreach ($rolesName as $rolee) {             if ($role->name === $rolee) {                 return true;             }          }         }         return false;     }         public function hasAbility(string $ability): bool     {         foreach ($this->roles as $role) {             if ($role->abilities->contains('name', $ability)) {                 return true;             }         }         return false;     }     } Como gravar um Admin na tabela admins sendo que ele é um User por extensão?
      Tentei assim mas é claro que está errado...
      public function store(Request $request, Admin $adminModel) {         $dados = $request->validate([             "name" => "required",             "email" => "required|email",             "password" => "required",             "registration" => "required"         ]);         $dados["password"] =  Hash::make($dados["password"]);                  $admin = Admin::where("registration",  $dados["registration"])->first();                  if ($admin)              return                    redirect()->route("admin.new")                             ->withErrors([                                 'fail' => 'Administrador já cadastrados<br>, favor verificar!'                   ]);                            $newAdmin = $adminModel->create(                                    $dados['name'],                                    $dados['email'],                                    $dados['password'],                                    $dados['registration']                                 );         dd($newAdmin);         $adminModel->save();         //$adminModel::create($admin);                  return redirect()->route("admin.new")->with("success",'Cadastrado com sucesso');     }  
    • Por violin101
      Caros amigos, saudações.
       
      Gostaria de tirar uma dúvida com os amigos, referente a PDV.
       
      Estou escrevendo um Sistema com Ponto de Vendas, a minha dúvida é o seguinte, referente ao procedimento mais correto.

      Conforme o caixa vai efetuando a venda, o Sistema de PDV já realiza:
      a baixa direto dos produtos no estoque
      ou
      somente após concretizar a venda o sistema baixa os produtos do estoque ?
       
      Grato,
       
      Cesar
       
    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Estou com uma dúvida, referente cálculo de valores em tempo real.

      Tenho uma rotina, que faz o cálculo, o problema é mostrar o resultado.

      Quero mostrar o RESULTADO assim: 0,00  ou  0.00

      Abaixo posto o código.
      jQuery('input').on('keyup',function(){ //Remover ponto e trocar a virgula por ponto var m = document.getElementById("pgRest").value; while (m.indexOf(".") >= 0) { m = m.replace(".", ""); } m = m.replace(",","."); //Remover ponto e trocar a virgula por ponto var j = document.getElementById("pgDsct").value; while (j.indexOf(".") >= 0) { j = j.replace(".", ""); } j = j.replace(",","."); m = parseFloat(jQuery('#pgRest').val() != '' ? jQuery('#pgRest').val() : 0); j = parseFloat(jQuery('#pgDsct').val() != '' ? jQuery('#pgDsct').val() : 0); //Mostra o Resultado em Tempo Real jQuery('#pgTroco').val(m - j); <<=== aqui estou errando })  
       
      Grato,
       
      Cesar
       
       
×

Informação importante

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