Form zonder refhresh

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Wouter Lolz

Wouter Lolz

10/01/2011 19:19:06
Quote Anchor link
Hoi,

Ik ben een beetje aant leren met scripten etc
en met dit kom ik er echt niet uit
Weet iemand hoe ik dit zo kan maken dat hij automatich inlogd?
Dus niet dat hij eerste de pagina opnieuw laad.
Dit is het wat ik nu heb:

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
<?php
if(isset($_POST['username']) && isset($_POST['password'])){
  if($_POST['username'] != "" || $_POST['password'] != ""){
  $query = $func->MySQL->query("SELECT * FROM users WHERE naam = '".$_POST['username']."'");
  $numrows = $func->MySQL->num_rows($query);
  if($numrows != "0"){
    $object = $func->MySQL->fetch($query);
  if($object['wachtwoord'] == md5($_POST['password'])){
    $_SESSION['login'] = "1";
    $_SESSION['login-naam'] = $_POST['username'];
    $_SESSION['login-id'] = $object['id'];
    echo'Je bent ingelogd.';
  }
else{
    echo'Wachtwoord is fout.';
  }
  }
else{
  echo'Deze username komt niet voor in onze database';
  }
  }
else{
    echo'U heeft niet alle velden ingevuld!';
  }
}

?>

    <form action="index.php?p=login" name="zoeken" method="POST">
        Username:<br />
                <input type="text" value="" name="username" /><br />
                Wachwoord:<br />
                <input type="password" value="" name="password" /><br />
                <input type="submit" value="Login" />
            </form>
 
PHP hulp

PHP hulp

22/12/2024 17:19:30
 
Maarten PHP

Maarten PHP

10/01/2011 19:35:05
Quote Anchor link
jquery of ajax
 
Wouter Lolz

Wouter Lolz

10/01/2011 19:36:30
Quote Anchor link
Kan jij miss voorbeeld maken?
 
Write Down

Write Down

10/01/2011 19:47:44
Quote Anchor link
Inderdaad, javascript achtige toestanden :-).

Verder heb je nog "fouten" in je script.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if(isset($_POST['username']) && isset($_POST['password'])){
  if($_POST['username'] != "" || $_POST['password'] != ""){
?>


Wat jij hier doet is het volgende:
ALS de username en het wachtwoord opgegeven zijn DAN: ALS de usname niet "leeg" is en het wachtwoord niet leeg is DAN:...

Ik denk niet dat je isset goed hebt begrepen. Voor alle duidelijk: hierboven heb je dus twee dezelfde if-statements. Om 100% zeker te zijn dat je het snapt, even een taalkundig voorbeeld. Als je voetbal is opgeblazen dan ... Als je voetbal niet leeg is dan ... Je zegt dus twee keer hetzelfde, alleen de manier waarop is verschillend.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
  $query
= $func->MySQL->query("SELECT * FROM users WHERE naam = '".$_POST['username']."'");
  $numrows = $func->MySQL->num_rows($query);
  if($numrows != "0"){
    $object = $func->MySQL->fetch($query);
?>


Regel 4,5 en 6 is al niet veel beter. Je selecteert alles (*), dit is al niet nodig, want je gebruik er iets van... Daarna ga je nog eens een functie gaan bepalen om het aantal resultaten te bepalen. Op zich kan het wel, maar je kan even goed een COUNT-query gebruiken. Dat gaat je tijdwinst geven.

Verder maak je gebruik van md5; dat algoritme is achterhaald. Gebruik sha1 (en liefst gemengd met een md5 en nog iets uniek).

En je sessie, waarom zo veel gegevens erin stoppen? Is dat echt nodig?

Je formulier heb je ergens van gekopieerd. name="zoeken". Trouwens, je controleert nergens of je formulier wel verzonden is op de juiste manier (POST).

Neem je boek erbij en herbegin ;-)
 
Wouter Lolz

Wouter Lolz

10/01/2011 19:53:37
Quote Anchor link
Ik heb mijn eigenscriptmanier en dat blijft ook zo.
Maar ik vraag gewoon of iemand miss het kan inbouwen dat ik voor de volgende formen het kan gebruiken.
Ik vraag niet om het script.
Dat werkt goed.
Graag niet off-topic gaan.
Gewijzigd op 10/01/2011 19:53:54 door Wouter Lolz
 
Write Down

Write Down

10/01/2011 20:12:02
Quote Anchor link
Beste Wouter,

Je maakt me echt kwaad, en ik denk ook dat menige hier niet akkoord zijn met jouw standpunt. Iedereen heeft zijn eigen manier van programmeren. Of om in slecht Nederlands te zeggen: scriptmanier. Je hoeft jouw manier niet aan te passen, maar wel jouw code. Die is gewoon fout, punt. En als jij van mening bent dat dit goed is, mij goed, maar kom binnen enkele maanden niet wenen als iemand jouw site heeft plat gelegd... Je zou zelfs blij moeten zijn dat ik wijs op je foute code...

Dit is oftopic
phpHulp is overigens een community waar je een vraag stelt en waar mensen respons zullen geven. Je vraag in dit topic niet om hulp (want zowel ik als PHPer gaf al aan dat dit met javascript kan) maar je vraagt aan ons om het script voor jou te maken... Als je dat wenst, kan je beter een programmeur inhuren.


Om je toch iets of wat te helpen: Voorbeelden genoeg, zolang je maar zoekt.
Gewijzigd op 10/01/2011 20:12:58 door Write Down
 
Wouter Lolz

Wouter Lolz

10/01/2011 20:12:38
Quote Anchor link
Sorry maar ik hou niet echt van mensen die offtopic gaan, mijn exusses.
En bedankt voor die url
Kheb nu dit:
Maar dat werkt niet :s
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
function Login(){
    var name = document.getElementById('username');
    var pass = document.getElementById('password');

    if(name != "" || pass != ""){
    $query = $func->MySQL->query("SELECT * FROM users WHERE naam = '".name."'");
    $numrows = $func->MySQL->num_rows($query);
        if($numrows != "0"){
            $object = $func->MySQL->fetch($query);
            if($object['wachtwoord'] == md5(pass)){
                $_SESSION['login'] = "1";
                $_SESSION['login-naam'] = name;
                $_SESSION['login-id'] = $object['id'];
                echo'Je bent ingelogd.';
                    }else{
                    echo'Wachtwoord is fout.';
                    }
            }else{
            echo'Deze username komt niet voor in onze database';
            }
        }else{
        echo'U heeft niet alle velden ingevuld!';
    }
    return false;
    
}

iemand oplossing?
Gewijzigd op 10/01/2011 20:14:25 door Wouter Lolz
 
Write Down

Write Down

10/01/2011 20:14:20
Quote Anchor link
Nu ben je PHP aan het mengen met javascript. Dat werkt niet. Je dient zo veel mogelijk javascript te scheiden van je PHP-code.

Toevoeging op 10/01/2011 20:16:15:

Om je nog iets meer op weg te zetten, het eerste resultaat in google lijkt mij op het eerste zicht goed. Degelijk geprogrammeerd en duidelijk uitgelegd. Klik

Oftopic
Even je bericht geschiedenis nagekeken. In elk van je topics heb je tot hier toe al gevraagd of iemand het voor jou kan doen. Ik denk dus niet dat ik ongelijk heb wanneer ik jou erop wijs dat je zelf moet proberen en dat jij zelf moet leren programmeren.
Gewijzigd op 10/01/2011 20:19:44 door Write Down
 
Wouter Lolz

Wouter Lolz

10/01/2011 21:19:23
Quote Anchor link
Kan het niet makelijker?
Want bij jquery is het maar een klein script..
Maar ik snap daar niet veel van :S
 
Roel -

Roel -

10/01/2011 21:22:25
Quote Anchor link
Volgens mij kun je beter PHP gaan leren en daarna verdergaan met AJAX.
 



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.