Avatar billede sito Nybegynder
17. september 2014 - 10:35 Der er 1 kommentar

Formular virker ikke - sender ikke variabler videre

Hej,

Jeg har en formular til indtastning af odds i en tipsklub, som har virket indtil for 2 uger siden. På ugebasis retter jeg den fra et ugenummer til et andet, og nu virker den ikke mere - nedenstående kode er ikke rettet.

Er der kommet en opdatering til PHP der gør at nedenstående ikke er godt nok mere?
Den sender tydeligvis ikke variablerne med, da fejlen hedder 'du har glemt at indtaste brugernavn eller password', på trods af at begge er udfyldt.

insert.php:
--------------------------

<div align="center">Indtast Brugernavn, Password og dine odds:
    </div>
    <form action="insert2.php" method="post">
 
      <div align="center">
    Brugernavn:<input type="text" name="brugernavn" size="20">
    Password:<input type="password" name="password" size="20"><br><br>
    Kamp:<input type="text" name="kamp1" size="40">Tegn:<input type="text" name="tegn1" size="1">Odds:<input type="text" name="odds1" size="5"><br>
    Kamp:<input type="text" name="kamp2" size="40">Tegn:<input type="text" name="tegn2" size="1">Odds:<input type="text" name="odds2" size="5"><br>
    Kamp:<input type="text" name="kamp3" size="40">Tegn:<input type="text" name="tegn3" size="1">Odds:<input type="text" name="odds3" size="5"><br>
    Kamp:<input type="text" name="kamp4" size="40">Tegn:<input type="text" name="tegn4" size="1">Odds:<input type="text" name="odds4" size="5"><br>
    Kamp:<input type="text" name="kamp5" size="40">Tegn:<input type="text" name="tegn5" size="1">Odds:<input type="text" name="odds5" size="5"><br>
    <input type="submit" name="send" value="Indsæt">
  </div>
     
 
</form>

insert2.php:
-------------------------

if ($brugernavn =="" or $password =="") {
    echo "Du har glemt at indtaste brugernavn eller password!<br>";
    echo "<a href=\"insert.php\">Prøv igen</a>";
    exit;
}

$strSQL="SELECT brugernavn, password FROM tippere WHERE brugernavn='$brugernavn' AND password='$password'";

$resultat=executeSQL($strSQL);

if (mysql_num_rows($resultat) == 0){
echo "Du har indtastet et forkert brugernavn eller password<br>";
echo "<a href=\"insert.php\">Prøv igen</a>";
exit;}
else{
}
Avatar billede Slater Ekspert
17. september 2014 - 11:10 #1
Med mindre der mangler noget kode, ser det ud til at du afhænger af register_globals. Det er meget længe siden den blev anbefalet ikke at bruge, og den er helt fjernet fra PHP fra version 5.4.0.

Det betyder at du ikke automatisk får globale variabler fra GPC, altså f.eks. form data og query strings (?key=value i url'en), og det er en god ting den er væk.

I det skal du bruge $_POST['brugernavn'] og $_POST['password']

- Men i det hele taget er din kode meget usikker, og bør laves mere om, hvis du ikke vil risikere at miste alle data, så snart der kommer den mest basale bot eller ondsindede person forbi dig.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester