Login doet alleen op Chrome

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dennis  van DUin

Dennis van DUin

13/10/2013 20:29:57
Quote Anchor link
Beste mensen,

Ik heb een site gemaakt met een inlog en registreer script. Nu zit ik alleen met een probleem. Op chrome werkt het perfect en heb ik niks te klagen. Maar als ik met dat zelfde account inlog op Internet Explorere dan werkt het niet... Hij maakt alleen mijn ingevulde vakjes leeg en gaat niet naar een andere pagina. Zegt ook niet dat het fout is...

De code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
        session_start();
        // dBase file
        include "dbConfig.php";

        if ($_GET["op"] == "login")
  {

  if (!$_POST["username"] || !$_POST["password"])
        {

        die("You need to provide a username and password.");
        }

  
  // Create query
  $q = "SELECT * FROM `dbUsers` "
        ."WHERE `username`='".$_POST["username"]."' "
        ."AND `password`=PASSWORD('".$_POST["password"]."') "
        ."LIMIT 1";
  // Run query
  $r = mysql_query($q);

  if ( $obj = @mysql_fetch_object($r) )
        {

        // Login good, create session variables
        $_SESSION["valid_id"] = $obj->id;
        $_SESSION["valid_user"] = $_POST["username"];
        $_SESSION["valid_time"] = time();

        // Redirect to member page
        Header("Location: home.php");
        }

  else
        {
        // Login not successful
        die("Sorry, could not log you in. Wrong login information.");
        }
  }

        else
  {
//If all went right the Web form appears and users can log in

 }
        ?>
 
PHP hulp

PHP hulp

20/04/2024 10:22:48
 

13/10/2013 21:04:02
Quote Anchor link
Bij je include, Gets, Posts en sessies moet je in elk geval een enkele quote neerzetten (')
 
Dos Moonen

Dos Moonen

13/10/2013 21:25:45
Quote Anchor link
@Frank, dat help niet, mooier is het wel naar mij idee =]

"Hij maakt alleen mijn ingevulde vakjes leeg en gaat niet naar een andere pagina." Dus volgens jou wordt er niets naar je server verstuurd. Waarom laat je dan PHP code zien die alleen uitgevoerd wordt als er wel info naar de server verstuurt wordt? Laat ook eens de HTML zien a.u.b.
 
Dennis  van DUin

Dennis van DUin

14/10/2013 07:08:14
Quote Anchor link
Hey!

Die dubbele " doe ik door een andere programmeer taal een beetje automatisch. Ik zal het aanpassen!

Verder heb ik deze code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<table width="300" height="160"  background="plaatjes/login.png" >
<tr>
<td ><div align="center"><b>Vul je gegeven in:</b></div></td>
</tr>
<form action='?op=login' method='post' accept-charset='UTF-8'>

  <tr>
    <td ><div align="center"><b>Gebruikersnaam:</b></div></td>
    <td ><input name="username" type="text" /></td>
  </tr>
  <tr>
    <td><div align="center"><b>Wachtwoord:</b></div></td>
    <td><input type='PASSWORD' name="password" type="text" /></td>
  </tr>
  <tr>
    <td><div align="right"><input name="" type="submit" value="login" /></div></td>
  </tr>
</form>
</table>


Groeten,
Dennis
 
Frank Nietbelangrijk

Frank Nietbelangrijk

14/10/2013 09:13:33
Quote Anchor link
- Zou je header() niet met kleine letters schrijven?
- Waarom een geluidsdemper (@) op mysql_fetch_object()?
- Het inpringen kan nog beter
- Gebruik je wel een php-edittor?
 
Dos Moonen

Dos Moonen

14/10/2013 10:59:04
Quote Anchor link
In PHP is het over het algemeen mooier om enkele quotes te gebruiken aangezien '$miauw' "$miauw" op he scherm zal tonen (ik ga even uit van een print/echo) en "$miauw" de waarde van $miauw op het scherm zal tonen. Tekst binnen dubbele quotes moet dus nog geparsed worden en zal iets trager zijn. Niet veel, maar als je het niet nodig hebt is het dus mooier om enkele quotes te gebruiken.

Binnen HTML zijn dubbele quotes weer mooier, enkele quotes worden geaccepteerd, maar je kan door een header (Content-Type: application/xhtml-xml) mee te sturen de browser verplichten heel strict te zijn en dan zullen alleen dubbele quotes geaccepteerd worden.

Je password input bevat twee type attibuten, geen idee waarom je het als text zou willen. Ook snap ik de hoofdletters niet, tegen de browser schreeuwen zal je niet helpen :p

method="POST" is dan wel weer mooier, aangezien je dat met hoofdletters hoort te schrijven.

Verder is een exit; na een location header wel mooi. Verdere executie van het script hoort niet nodig te zijn op dat punt.

PS. de location header hoort een absulute URL te krijgen, sommige browsers ondersteunen relatieve urls wel. Het zou dus kunnen dat ik het fout had en het wel aan de PHP kant ligt en dat IE geen relatieve URLs ondersteund. Anders weet ik het op het moment ook niet.
Gewijzigd op 14/10/2013 11:01:02 door Dos Moonen
 
Dennis  van DUin

Dennis van DUin

14/10/2013 15:54:20
Quote Anchor link
Beste mensen!

Allereerst heel erg bedankt voor alle tips hier heb ik echt weer heel veel aan. En helpt me weer verder bij het leren van PHP en het netjes gebruiken van PHP.


Kan je me iets meer uitleg geven over de relatieve urls? Ik denk dat het hier ergens mis gaat dan?
 
Dos Moonen

Dos Moonen

14/10/2013 16:26:37
Quote Anchor link
http://en.wikipedia.org/wiki/HTTP_location#Absolute_URL_example

Erg kort door de bocht: Voor HTTP 1.0 gebruik "Location: http://blablabla";. Voor HTTP 1.1 is "Location: /blablabla" ook toegestaan. Geen enkele HTTP versie ondersteund "Location: blablabla". Dat is wat ik heb begrepen in elk geval.

Dat zou dus betekenen dat chrome 'aardiger' doet. Al zou ik het fijn vinden als elke browser de HTTP specificaties ondersteunen en ook niet meer dan dat. En features ook pas vanaf de versie waarin ze toegevoegd zijn. Op die manier heb je geen situaties waarbij het bij A wel werkt, maar bij B niet. Vaandaar dat ik 'aardiger' tussen aanhalingstekens heb gezet.
 
Dennis  van DUin

Dennis van DUin

14/10/2013 18:27:04
Quote Anchor link
Ik heb trouwens nog een vraagje:

in dit kleine stukje code word mijn lijst met bestanden weergegeven. Nu zou ik willen dat hij per rij 1 2 3 enzovoort doortelt. Dus die iedere rijd met een ander nummer krijgt. Ik kan alleen niet werken met id want er zijn ook andere boeken die niet moeten...

Hoe laat ik hem per dus steeds 1 erbij weergeven?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
        // Print each file
        while($row = $result->fetch_assoc())  {
            echo"
                <tr>

                    <td>{//hier moet hij de rij nummer aangeven.}</td>
                    <td>{$row['name']}</td>
                    <td>{$row['onderwerp']}</td>
                    <td>{$row['eigenaar']}</td>
                </tr>";
        }
 
Dennis WhoCares

Dennis WhoCares

14/10/2013 18:32:51
Quote Anchor link
Gewoon een counter aanmaken

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
// Print each file
        $counter = 0;
        while($row = $result->fetch_assoc())  {
            $counter++;
            echo"
                <tr>

                    <td>{$counter}</td>
                    <td>{$row['name']}</td>
                    <td>{$row['onderwerp']}</td>
                    <td>{$row['eigenaar']}</td>
                </tr>";
        }
 
Dos Moonen

Dos Moonen

14/10/2013 21:39:03
Quote Anchor link
Betekend dit dat het redirecten nu werkt?
Gewijzigd op 14/10/2013 21:39:21 door Dos Moonen
 
Dennis  van DUin

Dennis van DUin

15/10/2013 08:21:11
Quote Anchor link
Beste allemaal,

Heel erg bedankt voor de counter en ook voor de site.
Ik moet het alleen allebei nog even testen vanmiddag! Ik snap wel wat je bedoeld over aardiger zijn! Eerst zo een paar hoorcolleges en vakken en dan komt de test!

Groeten,
Dennis

Toevoeging op 15/10/2013 08:59:03:

Ik heb het even getest en het werkt allemaal! Me eerste college even gebruikt om dit te verwerken!

Heel erg bedankt allemaal voor al deze goede hulp!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.