Archief - php: steeds opnieuw inloggen in i.e / werkt perfect in firefox

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

verdeye

Legacy Member
Ik heb een scriptje op profielen te veranderen en aan te maken.
Maar waneer ze proberen in te loggen (in i.e) lukt dit wel, maar dan moeten ze steeds weer opnieuw inloggen als ze iets willen wijzigen waardoor ze uiteindelijk dus NIET kunnen inloggen en niets wijzigen.
hier vind je het scriptje online:
Link
En hieronder de code van de page...
thx als je men kan helpen!
log: test
pass: test
PHP:
<?

session_start();
include("config.php");
include("header.php");
if($_GET['login']== '1'){
    $query4 = mysql_query("SELECT id FROM leden WHERE email='$_GET[email]' AND wachtwoord='$_GET[ww]'") or die(mysql_error());
    while($object4 = mysql_fetch_object($query4)){
        $personal = $object4->id;
    }
    if($personal){
        session_register('personal');
        $msg = "Gaan Spartaan! U bent aangemeld!";
    }
    else{
        $msg = "<br><b>Spijtig, het blijkt dat u foute gegevens ingaf, contacteer de webmaster via <a href=\"?a=mailto:[email protected]\">email</a></b><br>";
    }
}
if($_GET['loguit']==1){
    session_unset();
    session_destroy();
}
?>
<html>
<head>
       <title>raaltedynamite.nl :: PERSONAL ADMIN</title>
       <link href="../styles/spelers.css" rel="stylesheet" type="text/css">
</head>
<body>
<?echo$msg;?>
<?
if(session_is_registered('personal')){
    echo"<a href=\"?loguit=1\">Loguit</a><br>";
    if(!$_GET['a']){
        ?>
<br>
Beste Spartaan, welkom op de instellingspagina van je profiel. Op deze bladzijde kan je je persoonlijke gegevens die ontbreken invullen en gegevens veranderen.<br>
Deze gegevens zullen te zien zijn op de website.
<br>
Je hebt de mogelijkheid om volgende zaken te wijzigen.
<p>
    <a href="?a=1">Wijzig mijn profiel</a> (bv. Geboortedatum, hobby's, relatie, ...) <br>
    <a href="?a=2">Upload profiel foto </a> (Deze foto wordt bovenaan je profiel getoond, maak deze dus niet TE groot.)
  <?
    }
    elseif(($_GET['a'] == "1") AND (!$_GET['submit'])){

        echo"<form method=\"GET\" action=\"wijzig.php\" name=\"wijzig/vragen\">";
        echo"<input type=\"hidden\" name=\"a\" value=\"1\">";
        echo"<input type=\"hidden\" name=\"submit\" value=\"1\">";
        $query = mysql_query("SELECT * FROM vragen");
        while($object = mysql_fetch_object($query)){
            $query2 = mysql_query("SELECT * FROM profiel WHERE user_id = '$personal' AND vraag_id = '$object->id'");
            while($object2 = mysql_fetch_object($query2)){
                $antwoord = $object2->antwoord;
            }
            if($object->type == 1){
                echo $object->vraag."<br><input type=\"text\" name=\"vragen[".$object->id."]\" value=\"";
                echo$antwoord;
                echo"\"><br>";
            }
            else{
                echo $object->vraag."<br><textarea name=\"vragen[".$object->id."]\">";
                echo$antwoord;
                echo"</textarea><br>";
            }
        }
        echo"<input type=\"submit\" value=\"Opslaan\"><br><input type=\"reset\" value=\"Reset\"></form>";
    }
    elseif(($_GET['a'] == "1") AND ($_GET['submit'])){
        foreach($_GET['vragen'] as $vraag_id=>$antwoord){
            $query3=mysql_query("SELECT id FROM profiel WHERE user_id = '$personal' AND vraag_id = '$vraag_id'") or die(mysql_error());
            $bestaat = mysql_num_rows($query3);
            if($bestaat){
                mysql_query("UPDATE profiel SET antwoord = '$antwoord' WHERE user_id = '$personal' AND vraag_id = '$vraag_id'") or die(mysql_error());
                echo"Vraag gewijzigd<br>";
            }
            else{
                mysql_query("INSERT INTO profiel (user_id, vraag_id, antwoord) VALUES ('$personal','$vraag_id','$antwoord')") or die(mysql_error());
                echo"Vraag toegevoegd<br>";
            }
        }
    }
    elseif((($_GET['a'] == "2") OR ($_POST['a'] == "2")) AND (!$_POST['submit'])){
        print ("<form method=post action=\"wijzig.php?a=2&submit=1\" enctype=multipart/form-data><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"a\" value=\"2\">
Bestand: <input type=file name=bestand><br><br>
<input type=submit name=Uploaden value=Uploaden></form><hr>");
    }
    elseif((($_GET['a'] == "2") OR ($_POST['a'] == "2")) AND ($_POST['submit'])){
        // In welke map komen de uploads ? ( zorg dat deze de permissies 777 krijgt )
$map = "fotos/";

// Wat is de maximale groote van het bestand in bytes ( 1 kb = 1000 bytes )
$max = "1048576";

// Welke extensies kunnen er worden geupload ( als alles mag dan niks invullen )
$ext = "jpg png gif jpeg";

// Hieronder niks aanpassen

/* Upload script gemaakt door :
   Kristian Teijgeler
   www.Brommerhandel.nl
*/

// Controleren

if ($Uploaden){


if (!$bestand)
print ("Selecteer een bestand !");
else{

// Bestands naam opvragen
$bestand2 = explode("\\", $bestand_name);
$laatste = count($bestand2) - 1;
$bestand2 = "$bestand2[$laatste]";

// Extensie van bestand opvragen
$bestand3 = explode(".", $bestand2);
$laatste = count($bestand3) - 1;
$bestand3 = "$bestand3[$laatste]";
$bestand3 = strtolower($bestand3);

// Toegestaande extensies opvragen

$ext = strtolower($ext);
$ext = explode(" ", $ext);
$aantal = count($ext);

for ($tel = 0;$tel < $aantal; $tel++){
if ($bestand3 == $ext[$tel]){
$extfout = "nee";
}



}

if (!$extfout){
print ("Het bestand \"$bestand2\" kan niet worden geupload omdat de extensie niet is toegestaan !");
}
else
{
if ($bestand_size > $max)
print ("Het bestand \"$bestand2\" is groter dan $max bytes !");
else
{

// Opslaan van het bestand
$bestand2=str_replace(" ","_",$bestand2);

copy($bestand, "$map$bestand2");
$foto = "<img src=$map$bestand2>";
mysql_query("UPDATE leden SET foto='$foto' WHERE id = '$personal'");
print ("Het bestand \"$bestand2\" is met succes geupload !");


}

}

}
}
    }
}
else{
    ?> </p>
<form method="GET" action="wijzig.php" name="login">
    <input type="hidden" name="login" value="1">
    Email:<br><input type="text" name="email"><br>
    Wachtwoord:<br><input type="password" name="ww"><br>
    <input type="submit" value="Login">
</form>
    <?
}
?>

maT'

Legacy Member
een voorbeeld van e-mail & pwd kunnen al van pas komen :)

verder:
zoek op php.net eens wat info over register globals (in dit geval $_SESSION[] ), want session_register() is al outdated.

Col.Kurtz

Legacy Member
echt wel een slecht script, komt van phpfreakz zeker ? :p

verdeye

Legacy Member
dat spel is met men voeten ant spele, alsik iets verander werktie in firefox niet meer en in I.E weer wel en omgekeerd ... arrg

killgore

Legacy Member
eens checken of $_GET's geset zijn (ALTIJD DOEN, is een verplichting) en ook: gebruik get's niet rechtstreeks tussen ", of zet er op zen minst een . tussen. Ook: altijd checken of de data van gpc (get, post, cookie) vars overeenkomt met jouw wensen (wil je een id?, kijk dan of het wel degelijk een cijfer is).
session_start moet ook op elke pagina staan

(en daarna gaf ik het op :p)

verdeye

Legacy Member
ja het zit alleen in het bovenste stuk hoor .. bij de gets ... maar ik raark daar niet wijs uit

verdeye

Legacy Member
ok ... op nen andere server (lycos) werkt ie dus wel degelijk!

killgore

Legacy Member
verdeye zei:
ok ... op nen andere server (lycos) werkt ie dus wel degelijk!
dan kan het zijn dat uw server 2 cookies schrijft met twee maal dezelfde servernaam, welke uiteindelijk zullen resulteren in geen login. (sessies werken ook met cookies btw ;)).

probeer wat te rommelen met de sessie settings.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan