HTML form zet PHP script niet in werking..

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Karim

Karim

28/04/2008 22:48:00
Quote Anchor link
Hallo allemaal,

We zijn bezig met een ledensysteem, maar lopen vast...
Bij het klikken op de submit button vernieuwd de pagina gewoon, maar verstuurd niets...
Ik heb het idee dat het HTML formuliertje het PHP script niet goed aanstuurd.

Dit is het script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
include ("../include/config.php");
include ("../include/statuscheck.php");
?>

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
<?php
if($login){
    $query = mysql_query("SELECT * FROM " . $MySQL_table['leden'] . " WHERE gebruikersnaam='" . $_POST['gebruikersnaam'] . "'") OR die(mysql_error());
    $list = mysql_fetch_object($query) OR die(mysql_error());
    $gebruikersid = $list->id;
    $gebruikersnaam = $_POST['gebruikersnaam'];
    $tijd = $_POST['tijd'];
    
    if($_POST['gebruikersnaam'] == "$list->gebruikersnaam" && $_POST['wachtwoord'] == "$list->wachtwoord" && $_POST['tijd'] != "-----------"){
        if($tijd = "onbeperkt"){
            setcookie ("gebruikersnaam", "$gebruikersnaam");
            setcookie ("gebruikersid", "$gebruikersid");
        }

        else{
        $tijd = 3600*$tijd;
            setcookie ("gebruikersnaam", "$gebruikersnaam",time()+$tijd);
            setcookie ("gebruikersid", "$gebruikersid",time()+$tijd);
        }

        echo("U bent SUCCESVOL ingelogd als <strong>" . $_COOKIE['gebruikersnaam'] . "!</strong>");        
        echo("<meta http-equiv=refresh content=0;URL=index.php>");

    }

    else{
        echo"Uw wachtwoord komt niet overeen met uw gebruikersnaam!<br><a href=inloggen.php>terug</a>";
    }
}

else{
?>

<form name="login" method="post" action="inloggen.php">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%">Gebruikersnaam:</td>
<td width="50%"> <input name="gebruikersnaam" type="text" id="gebruikersnaam">
</td>
</tr>
<tr>
<td height="23">Wachtwoord:</td>
<td><input name="wachtwoord" type="password" id="wachtwoord"></td>
</tr>
<tr>
<td> <div align="left">Tijd Ingelogd:</div></td>
<td><select name="tijd" id="tijd">
<option selected>-----------</option>
<option value="1">1 Dag</option>
<option value="2">2 Dagen</option>
<option value="7">1 week</option>
<option value="14">2 weken</option>
<option value="31">1 maand</option>
<option value="61">2 maanden</option>
<option value="176">Half jaar</option>
<option value="356">Jaar</option>
<option value="onbeperkt">Onbeperkt</option>
</select></td>
</tr>
<tr>
<td><div align="right">
<input type="reset" name="Reset" value="Opnieuw">
</div></td>
<td><input name="login" type="submit" id="login2" value="Inloggen!"></td>
</tr>
</table>
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php } ?>


Kunnen jullie ons helpen?
Alvast bedankt,

Karim
 
PHP hulp

PHP hulp

17/11/2024 23:33:06
 

28/04/2008 22:53:00
Quote Anchor link
Waar komt $login vandaan?

Verder kan je zo sql injections doen, want je stopt zo een post var in je query en je moet je vars buiten quotes halen, waar slaat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php //kleurtjes
$_POST['gebruikersnaam'] == "$list->gebruikersnaam" && $_POST['wachtwoord'] == "$list->wachtwoord"
#en
setcookie ("gebruikersnaam", "$gebruikersnaam",time()+$tijd);
#op? Dat kan ook zo:
$_POST['gebruikersnaam'] == $list->gebruikersnaam && $_POST['wachtwoord'] == $list->wachtwoord
#en
setcookie ("gebruikersnaam", $gebruikersnaam,time()+$tijd);
?>


En ik denk dat ik wel weet waar $login vandaan komt, lees dit (@php.net) maar eens.
Gewijzigd op 01/01/1970 01:00:00 door
 
Karim

Karim

29/04/2008 08:48:00
Quote Anchor link
Ik snap nog niet helemaal wat je bedoeld...
(beginnend in PHP)
Iemand anders heeft dit script aangeleverd en wij zijn het nu alleen aan het aanpassen.
Het cookie tijd gedeelte gaan we er denk ik uit halen...

Wat betreft het formulier:
Wat zit er fout met $login?
Ik ben onbekend met superglobals...
En hoe moet ik de sql injections anders doen ?
 
Jelle Posthuma

Jelle Posthuma

29/04/2008 08:52:00
Quote Anchor link
if($login){

Moet worden:

if(isset($_POST['login'])){
 
Karim

Karim

29/04/2008 09:09:00
Quote Anchor link
Hij werkt!
Dankje!
 
Jesper Diovo

Jesper Diovo

29/04/2008 09:30:00
Quote Anchor link
Ja, ga nu nog maar wat aan SQL injection doen.

#1
#2
 

29/04/2008 11:05:00
Quote Anchor link
Djemo schreef op 29.04.2008 09:30:
Ja, ga nu nog maar wat aan SQL injection doen.

#1
#2

Het lijkt mij eerder dat hij PHP Beginners handleiding en SQL Beginners handleiding moet leren...
 
--

--

29/04/2008 12:23:00
Quote Anchor link
Moet je dan alles gaan beveiligen door overal zoiets te doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
add_slashes($_POST['username'])


of

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
htmlspecialchars($_POST['username'])
 

29/04/2008 23:24:00
Quote Anchor link
Evert schreef op 29.04.2008 12:23:
Moet je dan alles gaan beveiligen door overal zoiets te doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
add_slashes($_POST['username'])

of
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
htmlspecialchars($_POST['username'])

Onder welke steen heb jij gelegen? Add_slashes is oud, en htmlspecialchars doet hier niks want ENT_QUOTES niet gezet, dus blijft ' nog altijd '. Gebruik gewoon mysql_real_escape_string.
Zie ook dit.
Gewijzigd op 01/01/1970 01:00:00 door
 
--

--

29/04/2008 23:26:00
Quote Anchor link
Ik vroeg het maar ff, want ik las het in een gedateerd artikeltje, dus vroeg ik me al af. Bedankt voor de tip :)
Gewijzigd op 01/01/1970 01:00:00 door --
 

29/04/2008 23:32:00
Quote Anchor link
Evert schreef op 29.04.2008 23:26:
Ik vroeg het maar ff, want ik las het in een gedateerd artikeltje, dus vvroeg ik me al af. Bedankt voor de tip :)

Ah, ik dacht dat je het als suggestie gaf.
 



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.