ik snap er niks van... hij werkt gewoon niet...

Wat doe ik fout???

de bedoeling is dat het script mijn gebruikers laat inloggen en vervolgens automatisch doorstuurd naar de index van hun eigen afdeling (aangegeven in mysql database)

Bijvoorbeeld indexCS.php


<?
session_start();
mysql_connect("xxx", "xxx", "xxx") or die(mysql_error()); 
mysql_select_db("xxx") or die(mysql_error()); 

if (isset($_POST['naam']) && !empty($_POST['naam']) && isset($_POST['wachtwoord']) && !empty($_POST['wachtwoord']))
{
    $sql = 'SELECT
                id, afdeling
            WHERE
                naam = "'.$_POST['naam'].'"
            AND
                wachtwoord = "'.md5($_POST['wachtwoord']).'"';
    $res = mysql_query($sql,$link);
    if ($res && mysql_num_rows($res) == 1)
    {
        $row = mysql_fetch_array($res);
        
        $_SESSION['userid'] = $row['id'];
        
        header('location:index'.$row['afdeling'].'.php');
    } else {
        header('location:loginerror.php');
    }
}
    
?> 

<form method="post" action="<? $_SERVER['PHP_SELF'] ?>">
<input type="text" name="naam" />
<input type="password" name="wachtwoord" />
<input type="submit" name="login" value="Inloggen" />
</form> 



Wanneer ik geprobeerd heb in te loggen geeft hij dit weer in de adresbalk van mijn explorer:

http://10.0.2.146/<?%20$_SERVER['PHP_SELF']%20?>
Even je mysqldata er uit editten
thnx

action="<? $_SERVER['PHP_SELF'] ?>">

naar

action="<? echo $_SERVER['PHP_SELF'] ?>">


en je $link of aanmaken of weghalen in je query
heb nu dit maar werkt nog steeds niet
<?
session_start();
mysql_connect("xxx", "xxx", "xxx") or die(mysql_error()); 
mysql_select_db("xxx") or die(mysql_error()); 

if (isset($_POST['naam']) && !empty($_POST['naam']) && isset($_POST['wachtwoord']) && !empty($_POST['wachtwoord']))
{
    $sql = 'SELECT
                id, afdeling
            WHERE
                naam = "'.$_POST['naam'].'"
            AND
                wachtwoord = "'.md5($_POST['wachtwoord']).'"';
    $res = mysql_query($sql);
    if ($res && mysql_num_rows($res) == 1)
    {
        $row = mysql_fetch_array($res);
        
        $_SESSION['userid'] = $row['id'];
        
        header('location:index'.$row['afdeling'].'.php');
    } else {
        header('location:loginerror.php');
    }
}
    
?> 

<form method="post" action="<? echo $_SERVER['PHP_SELF'] ?>">
<input type="text" name="naam" />
<input type="password" name="wachtwoord" />
<input type="submit" name="login" value="Inloggen" />
</form> 


melding in adresbalk nu:

http://10.0.2.146/<?%20echo%20$_SERVER['PHP_SELF']%20?>


Weer je gegevens wegeditten

De volgende keer open ik een topic met die gegvens er in
Probleem met shorttags maar er eens

<?php
    echo $_SERVER["phpself"]
?>

van

En je kunt oko de action leeg laten (al is het niet netjes)
Klasse Jacco....

thnx man... het werkt...

Sorry van die mysql gegevens...

das het irritante van knippen en plakken

groeten
Je hoeft voor mij geen sorry te zeggen ik zeg het alleen maar voor je eigen pvc enzo
die %20's horen niet thuis in PHP PHP ziet geen spaties (tenzij het een string is).

$waarde = "waarde";

werkt net zo goed als

$waarde = "waarde";
Mag jij me het verschil tussen die 2 regels php uitleggen jurgen.

Als je even gelezen had je gezien dat de TS de URL had gepost die gegenereerd werd na de post

Reageren