Problem with the link in PHP

0

I have a code that calls numbers in a row, only it is type in a link:

Iwouldliketomakethebuttonabuttontolooklikethis:

And when I click, the passwords change.

 <?php
$linhas = file("senhas.txt");
if (isset($_GET['linha']) == "") {
    $_GET['linha'] = 0;
    $i = $_GET['linha'] + 1;
    echo "<h3>";
    echo "<font color='white'>";
            echo "Chamar Proxima Senha <a href='?linha=$i'  >".  $linhas[0]. "</a>";
echo "</font>";
            echo "</h3>";
} else {
    $i = $_GET['linha'];
    $in = $_GET['linha'] + 1;
    echo "<h3>";
    echo "<font color='white'>";
            echo "Chamar Proxima Senha <a  href='?linha=" . $in . "'>" . $linhas[$i] . "</a>";
    echo "</font>";
    echo "</h3>";
}
?>
    
asked by anonymous 15.11.2018 / 15:10

1 answer

0

Some errors in your code:

  • isset is used to know if the variable was previously defined and returns TRUE if it was initialized or FALSE otherwise.

    Dai does not even need to say anything more than you'd expect with

    if (isset($_GET['linha']) == "") { this would be something like:

    if (true=="") ou if (false=="") - sem sentido.
    
  • Wanting to assign a value to a global variable, this $_GET['linha'] = 0; does not make sense either.

What you want is:

$linhas = file("senhas.txt");

//se a variável não foi inicializada (a exclamação ! inverte o valor de um booleano)
if (!isset($_GET['linha'])) {
    $i = 0;
    echo "<h3>";
    echo "<font color='black'>";
            echo "Chamar Proxima Senha <a href='?linha=1'>1</a>";
echo "</font>";
            echo "</h3>";
} else {
    $i = $_GET['linha'];
    $in = $_GET['linha'] + 1;
    echo "<h3>";
    echo "<font color='black'>";
            echo "Chamar Proxima Senha <a  href='?linha=" . $in . "'>" . $in . "</a>";
    echo "</font>";
    echo "</h3>";
}


echo 'A senha é: '.$linhas[$i];

Complete example, considering the number of lines in the txt file

  

The $quant variable is obtained by counting the number of array elements given by file("senhas.txt") But you can set the value manually.

$linhas = file("senhas.txt");

 //numero de linhas -> count($linhas), o menos 1 porque array começa em 0 (zero)
 // de 0 a 6 = 7
 $quant = count($linhas)-1;

//se a variável não foi inicializada (a exclamação ! inverte o valor de um booleano)
if (!isset($_GET['linha'])) {
    $i = 0;
    echo "<h3>";
    echo "<font color='black'>";
            echo "Chamar Proxima Senha <a href='?linha=1'>1</a>";
    echo "</font>";
    echo "</h3>";
} else {
    $i = $_GET['linha'];
    if($i==$quant){ //caso tenha sido a ultima linha
        echo "<p><a href='?linha=".($i-1)."'>Voltar<a/></p>"; 
    }else{ // caso não tenha sido a ultima linha
        echo "<h3>";
        echo "<font color='black'>";
            echo "Chamar Proxima Senha <a  href='?linha=" . ($i+1) . "'>" . ($i+1) . "</a>";;
        echo "</font>";
        echo "</h3>";
        if($i!=0){ // caso não seja a primeira linha
            echo "<p><a href='?linha=".($i-1)."'>Voltar<a/></p>";
        }
    }
}

echo 'A senha é: '.$linhas[$i];

To use buttons

$linhas = file("senhas.txt");

$quant = count($linhas)-1;

if (!isset($_GET['linha'])) {
    $i = 0;
    echo "<button onclick=\"location.href='?linha=1'\" type=\"button\">
    Chamar Proxima Senha</button>";
} else {
    $i = $_GET['linha'];
    if($i==$quant){ //caso tenha sido a ultima linha ou $_GET['linha']=0
        echo "<p><a href='?linha=".($i-1)."'>Voltar<a/></p>"; 
    }else{ // caso não tenha sido a ultima linha
        echo "<button onclick=\"location.href='?linha=". ($i+1) ."'\" type=\"button\">
            Chamar Proxima Senha</button>";
        if($i!=0){
            echo "<p><a href='?linha=".($i-1)."'>Voltar<a/></p>";
        }
    }
}

echo 'A senha é: '.$linhas[$i];
    
15.11.2018 / 18:35