terug naar inlogscherm

Status
Niet open voor verdere reacties.

weswillem

Gebruiker
Lid geworden
8 nov 2011
Berichten
310
Ben er nu een tijdje mee bezig, maar zie het even niet.
Misschien iemand die het wel ziet.
Inlogscherm - Wachtwoord opvragen > tik maar wat > bericht verzonden > en dan terug naar inlogscherm.
Dat laatste lukt mij nog steeds niet. Iemand die er even naar kan kijken
PHP:
<?php

$verzonden = 0; 

function printinlogscherm ()
{
	echo '<form action="?p=checkuser" method="post">'.PHP_EOL;
	echo '<fieldset>'.PHP_EOL;
	echo '<legend>Login</legend>'.PHP_EOL;
	echo '<p>'.PHP_EOL;
	echo '<label for="login" class="align_text">Loginnaam:</label>'.PHP_EOL;
	echo '<input id="login" name="login" type="text" class="my_textfield" value="" size="16" />'.PHP_EOL;
	echo '</p>'.PHP_EOL;
	echo '<p>'.PHP_EOL;
	echo '<label for="passw" class="align_text">Paswoord:</label>'.PHP_EOL;
	echo '<input id="passw" name="passw" type="password" class="my_textfield" value="" size="16" />'.PHP_EOL;
	echo '</p>'.PHP_EOL;
	echo '<p>'.PHP_EOL;
	echo '<input type="submit" value="Login" class="button" />'.PHP_EOL;
	echo '</p>'.PHP_EOL;
	echo '</fieldset>'.PHP_EOL;
	echo '</form>'.PHP_EOL;     
	echo '<hr class="clearer" />'.PHP_EOL;
    
}


function printwwvergetenscherm ()
{
	echo '<form action="?p=ww_vergeten&versturen=ja" method="POST">'.PHP_EOL;
	echo '<fieldset>'.PHP_EOL;
	echo '<legendWachtwoord vergeten</legend>'.PHP_EOL;
	echo '<p>'.PHP_EOL;
	echo '<label for="email" class="align_text">Emailadres:</label>'.PHP_EOL;
	echo '<input id="email" name="email" type="text" class="my_textfield" value="" size="16" />'.PHP_EOL;
	echo '</p>'.PHP_EOL;
	//echo '<p>'.PHP_EOL;
	//echo '<label for="passw" class="align_text">Paswoord:</label>'.PHP_EOL;
	//echo '<input id="passw" name="passw" type="password" class="my_textfield" value="" size="16" />'.PHP_EOL;
	//echo '</p>'.PHP_EOL;
	echo '<p>'.PHP_EOL;
	echo '<input type="submit" value="Opvragen" class="button">'.PHP_EOL;
	echo '</p>'.PHP_EOL;
	echo '<p>'.PHP_EOL;
    echo '</p>'.PHP_EOL;
    echo '</fieldset>'.PHP_EOL;
	echo '</form>'.PHP_EOL;
    //echo '<a href="?actie=ww_vergeten">Wachtwoord vergeten?</a>'.PHP_EOL;
	echo '<hr class="clearer" />'.PHP_EOL;
}
function printleegscherm ()
{
	echo '<form action="?p=ww_vergeten&versturen=ja" method="POST">'.PHP_EOL;
	echo '<fieldset>'.PHP_EOL;
	echo '<h1>Wachtwoord aangevraagd</h1>'.PHP_EOL;
	echo '<p>'.PHP_EOL;
	echo "Er is een email met het bijbehorende paswoord verstuurd naar het door u opgegeven emailadres!";
    echo '<p>'.PHP_EOL;
	echo '<input type="submit" value="Loginscherm" class="button">'.PHP_EOL;
	echo '</p>'.PHP_EOL;
	echo '</fieldset>'.PHP_EOL;
	echo '</form>'.PHP_EOL;
    echo '<hr class="clearer" />'.PHP_EOL;
}

if( isset ($_GET['p']) && $_GET['p'] == "ww_vergeten"){
    //echo 'ww  vergeten';
    $site = "www.test.nl";
    $site1 = "test"; 
    if (isset($_GET['versturen'])){
      
    if ($_GET['versturen'] == 'ja') { 
    
    $verzonden = 0; 
    $passwoord = "test"; 
    $emailadres = "test@test.nl";
       
    $bericht = "Beste Jan Jansen,     
    Er is zojuist op ".$site." met dit emailadres het bijbehorende passwoord opgevraagd.     
    Onthoud of bewaar uw passwoord zorgvuldig en buiten bereik van anderen! 
    Uw passwoord is ".$passwoord.".\n 
    Groet,
    Team ".$site1.""; 
    $verzonden = 1; 
    //mail($emailadres,"Wachtwoord opgevraagd",$bericht,"From: ".$site." <no_reply@".$site.">"); 
    echo $bericht; 
     } 
 }
 }

	echo '<h1>Stichting naam</h1>'.PHP_EOL;
	echo '<hr />';
    if ( $verzonden == 1){           
        //$login = 0;
        printleegscherm();    
}elseif( isset ($_GET['p']) && $_GET['p'] == "ww_vergeten"){
    //echo $_GET['p'];
    printwwvergetenscherm();
     //echo $_GET['p'];   
    
}else{  	
    
    printinlogscherm();
    echo '<a href="?p=ww_vergeten">Wachtwoord vergeten?</a>'.PHP_EOL;    
}    
  
 
?>
 
je kan toch met javascript zon back-1 knop ofzo maken? dan gaat hij een pagina terug of bedoel je dat neit?
 
Alleen de print***scherm veranderd. Niet de pagina. Na het bericht van verzending moet de fieldset aangepast worden.
Starten met inlogscherm en na mededeling dat bericht verzonden is en na klikken moet ik het printinlogscherm weer zien.
 
kijk eens maar header("Location: jou_pagina.php")
 
Ik heb m gebruikt, ben op jachte om die zodanig te plaatsen dat het werkt.
Maar ik kan beter SUDUKO spelen, geloof ik, want dit lijkt er ook op.
 
Op het moment dat je suc6vol bent ingelogd wil je dat het scherm weer op inlog veld komt.
Dus dan moet je zorgen dat na het verwerken van je $_get en $_post gegevens de browser herladen wordt zonder de $_get en $-post gegevens.
Dat doe je met een header redirect. Je moet er alleen wel voorzorgen dat je nog geen data naar je browser het gestuurd als je header gebruikt.
Anders krijg je een error.
 
@phobia
Nadat ik op wachtwoord opvragen klikt gaat alles goed tot en met het bericht dat het password verzonden is, daarna gaat het steeds mis.
Dat gaat pas mis wanneer ik inlogscherm klikt.
Ik zie echt iets over het hoofd kennelijk gaat er nog steeds data door. Ben er al vanaf vanochtend al mee bezig. Denk dat mijn leeftijd parten speelt.
hahahaha.
 
Zodra ik op de knop loginscherm klikt in het orgineel, gaat hij toch langs de email gegevens en krijg
Notice: Undefined index: email in C:\wamp\www\testenvoorWAS\cms\index.php on line 163

Notice: Trying to get property of non-object in C:\wamp\www\testenvoorWAS\cms\index.php on line 169

Notice: Trying to get property of non-object in C:\wamp\www\testenvoorWAS\cms\index.php on line 170

Notice: Trying to get property of non-object in C:\wamp\www\testenvoorWAS\cms\index.php on line 171

Notice: Trying to get property of non-object in C:\wamp\www\testenvoorWAS\cms\index.php on line 172

Notice: Trying to get property of non-object in C:\wamp\www\testenvoorWAS\cms\index.php on line 173

dat betekent dat hij toch langs die gegevens. Wat ik hierboven geplaatst is, geeft geen melding alleen komt elke keer terug in het scherm weaar je je email invoert.

dit is wat de url laat zien ://localhost/log/printloginscherm.php?p=ww_vergeten&versturen=ja
 
Laatst bewerkt:
geen idee, wat is regel 163 en 169 tot 173?
 
Wat hier onder staat is de originele code.
Daar komen die nummertjes vandaan.
Wat bovenin staat in deze topic is ongeveer hetzelfde wat het moet doen
alleen zonder al die extra's
PHP:
<?php
require "../core/sessions.inc.php";

//we checken voor de sessie, zodat we gebruikersgegevens hebben als de surfer is ingelogd
open_session();

require "../core/lib.inc.php";

if ( isset($_SESSION['userid']) && $_SESSION['dvdadmin']) { // Deze zorgt dat alleen bevoegde personen schrijfrechten hebben in de database en de andere mensen alleen lees rechten
	$db = $db1;
} else {
	$db = $db2;
}

$conn = mysql_connect( $db['host'], $db['user'], $db['pw'] ) or die ("help!" );
mysql_select_db( $db['dvd_db'] );
$verzonden = 0; 
$login= 0;
//echo $verzonden;
function printinlogscherm ()
{
	echo '<form action="'.cms.'?p=checkuser" method="post">'.PHP_EOL;
	echo '<fieldset>'.PHP_EOL;
	echo '<legend>Login</legend>'.PHP_EOL;
	echo '<p>'.PHP_EOL;
	echo '<label for="login" class="align_text">Loginnaam:</label>'.PHP_EOL;
	echo '<input id="login" name="login" type="text" class="my_textfield" value="" size="16" />'.PHP_EOL;
	echo '</p>'.PHP_EOL;
	echo '<p>'.PHP_EOL;
	echo '<label for="passw" class="align_text">Paswoord:</label>'.PHP_EOL;
	echo '<input id="passw" name="passw" type="password" class="my_textfield" value="" size="16" />'.PHP_EOL;
	echo '</p>'.PHP_EOL;
	echo '<p>'.PHP_EOL;
	echo '<input type="submit" value="Login" class="button" />'.PHP_EOL;
	echo '</p>'.PHP_EOL;
	echo '</fieldset>'.PHP_EOL;
	echo '</form>'.PHP_EOL;     
	echo '<hr class="clearer" />'.PHP_EOL;
    
}


function printwwvergetenscherm () // laten zien na -ww vergeten- is aangeklikt
{
	echo '<form action="'.cms.'?p=ww_vergeten&versturen=ja" method="POST">'.PHP_EOL;
	echo '<fieldset>'.PHP_EOL;
	echo '<legendWachtwoord vergeten</legend>'.PHP_EOL;
	echo '<p>'.PHP_EOL;
	echo '<label for="email" class="align_text">Emailadres:</label>'.PHP_EOL;
	echo '<input id="email" name="email" type="text" class="my_textfield" value="" size="16" />'.PHP_EOL;
	echo '</p>'.PHP_EOL;
	//echo '<p>'.PHP_EOL;
	//echo '<label for="passw" class="align_text">Paswoord:</label>'.PHP_EOL;
	//echo '<input id="passw" name="passw" type="password" class="my_textfield" value="" size="16" />'.PHP_EOL;
	//echo '</p>'.PHP_EOL;
	echo '<p>'.PHP_EOL;
	echo '<input type="submit" value="Opvragen" class="button" />'.PHP_EOL;
	echo '</p>'.PHP_EOL;
	echo '<p>'.PHP_EOL;
    //echo '<a href="?p=ww_vergeten">Wachtwoord vergeten?</a>'.PHP_EOL;
    echo '</p>'.PHP_EOL;
    //$login = 1;
    echo '</fieldset>'.PHP_EOL;
	echo '</form>'.PHP_EOL;
    //echo '<a href="?actie=ww_vergeten">Wachtwoord vergeten?</a>'.PHP_EOL;
	echo '<hr class="clearer" />'.PHP_EOL;
}
function printleegscherm ()  // laten zien nadat opgevraagd is
{
	echo '<form action="'.cms.'?p=ww_vergeten&versturen=ja" method="POST">'.PHP_EOL;
	echo '<fieldset>'.PHP_EOL;
	echo '<h1>Wachtwoord aangevraagd</h1>'.PHP_EOL;
	echo '<p>'.PHP_EOL;
	echo "Er is een email met het bijbehorende paswoord verstuurd naar het door u opgegeven emailadres!";
    echo '<p>'.PHP_EOL;
	$_GET['p'] = "";
    echo '<input type="submit" value="Loginscherm" class="button" onclick="checkuser" />'.PHP_EOL;
	echo '</p>'.PHP_EOL;
	//$login = 1;
    echo '</fieldset>'.PHP_EOL;
	echo '</form>'.PHP_EOL;
    
    //echo '<a href="?actie=ww_vergeten">Wachtwoord vergeten?</a>'.PHP_EOL;
	echo '<hr class="clearer" />'.PHP_EOL;
}

if ( isset ($_GET['p']) && $_GET['p'] == "checkuser" ) {
	$login = mysql_real_escape_string ( $_POST['login'] );
	$passw = crypt(md5( stripslashes($_POST['passw']) ), "XY");
	
	$sql ="
		SELECT
			id,
			login,
			passwoord
		FROM
			leden
		WHERE
			login = '".$login."'
		AND
			passwoord = '".$passw."'
		";
	$result = mysql_query($sql, $conn);
	
	if ( mysql_num_rows($result) == 0 ) {
		//Open de foutrubriek niet toegestane pagina
		myheader(405);
		echo '<h1>Er heeft zich een fout voorgedaan</h1>'.PHP_EOL;
		echo 'De poging om in te loggen is mislukt.'.PHP_EOL;
		echo 'Gelieve uw login en/of paswoord te controleren.'.PHP_EOL;
		//We geven de arme stakker nog een kans.
		printinlogscherm();
		//afsluiten layout
		myfooter();
		//Stop met laden van de rest van de phpcode.
		exit;
	} else {
		//Vraag de query data op.
		$data = mysql_fetch_array($result);
		//De sessievariabelen instellen.
		$_SESSION['userid'] = $data['id'];
		$_SESSION['inlognaam'] = $data['login'];
		//Kijken of gebruiker adminrechten heeft.
		echo $data['id'];
        $sql ="
			SELECT
				id,
				lid_id
			FROM
				admins
			WHERE
				lid_id = '".$data['id']."'
			";
		$result = mysql_query($sql, $conn);
		if (mysql_num_rows($result) > 0 ) {
			if ($_SESSION['userid']> 1){
			 $_SESSION['medewerker'] = true ;
			}else{
            $_SESSION['dvdadmin'] = true ;
			//Stel de sessie in
			set_session();
			//Herlaad voor de sessie te activeren
			header( "Location: ../cms/" );
            }
		} else {
			$_SESSION['dvdadmin'] = false ;
			//Stel de sessie in
			set_session();
			//Herlaad voor de sessie te activeren
			header( "Location: ../leden/" );
		}
	}
//===============================================
//if ($login = 1) {  // na kklikken op ww vergeten en email invullen ww verzenden
}else if( isset ($_GET['p']) && $_GET['p'] == "ww_vergeten"){
    //$login = 0;
    $site = "www.test.nl";
    $site1 = "test"; 
    if (isset($_GET['versturen'])){
      
    if ($_GET['versturen'] == 'ja') { 
    //echo 'Login is: '.$login.'';
    //if ($login > 0) {
    $sql = "SELECT * FROM leden WHERE email='".$_POST['email']."'"; 
    $resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL"); 
    //echo $sql;
    $aantal = mysql_num_rows($resultaat); 
    $rij = mysql_fetch_object($resultaat); 
    $verzonden = 0; 
    $passwoord = $rij->passwoord; 
    $inlognaam = ucfirst($rij->login); 
    $emailadres = htmlspecialchars($rij->email);
    $naam = $rij->achternaam;
    $voornaam =$rij->voornaam;
    //echo ucfirst($rij->login);
    if ($aantal == '0') {         
    echo "Dit emailadres is bij ons niet bekend!"; 
    $verzonden = 0; 
   
    
    } else { 
   
    $bericht = "Beste ".$voornaam." ".$naam.", 
     
    Er is zojuist op ".$site." met dit emailadres het bijbehorende passwoord opgevraagd.
     
    Onthoud of bewaar uw passwoord zorgvuldig en buiten bereik van anderen! 
    Uw passwoord is ".$passwoord.".\n 
    Groet,
    Team van: ".$site1.""; 
    $verzonden = 1; 
    //echo 'Bericht is: '.$bericht.'';
    //mail($emailadres,"Wachtwoord opgevraagd",$bericht,"From: ".$site." <no_reply@".$site.">");
  
     } 
  }
    }
  
  //===================================================  
  ####
#
# Het gedeelte ?P=logout vernietigt sowieso de sessie. Vandaar dat we niet de functie open_session() oproepen.
# We geven daardoor ook de minimale sessie-informatie door. De naam om de sessie te vinden, mocht deze
# bestaan. Als deze bestond, pech, dan wordt hij automatisch vernietigd :-) Daarna wordt de surfer 
# teruggestuurd naar de indexpagina van de site die dan de info zal tonen alsof we niet ingelogd zijn.
#

}elseif( isset ($_GET['p']) && $_GET['p'] == "logout"){

	unset($_SESSION['userid']);
	unset($_SESSION['dvdadmin']);
	unset($_SESSION['medewerker']);
    session_destroy();

	echo '<META HTTP-EQUIV="Refresh" CONTENT="0; URL='.rootdir.'">'.PHP_EOL;

}
myheader( "cms" );
if ( isset($_SESSION['dvdadmin'])){
if ( isset($_SESSION['userid']) && $_SESSION['dvdadmin']) {
	
	$sql = "
		SELECT
			id,
			login,
            voornaam,
            achternaam
		FROM
			leden
		WHERE
			id = '".$_SESSION['userid']."'
		";
	$result = mysql_query($sql, $conn);
	$data = mysql_fetch_array($result);
	
	echo 'U bent ingelogd als administrator: '.$data['achternaam'];
	echo '<br /><a href="'.cms.'?p=logout" title="Uitloggen" >Uzelf uitloggen</a>';
    echo '<br>';
    echo '<hr />'.PHP_EOL;
	printinlogscherm();
	}
} elseif ( isset($_SESSION['medewerker'])){
   if ( isset($_SESSION['userid']) && $_SESSION['medewerker'] ) {
	$sql = "
		SELECT
			id,
			login
		FROM
			leden
		WHERE
			id = '".$_SESSION['userid']."'
		";
	$result = mysql_query($sql, $conn);
	$data = mysql_fetch_array($result);
	
	echo 'Je bent ingelogd als medewerker: '.$data['login'].' (lezer).';
	echo '<br /><a href="'.cms.'?p=logout" title="Uitloggen" >Uzelf uitloggen</a>'.PHP_EOL;
    echo '<br>';
    echo '<hr />'.PHP_EOL;    
    }
} else {
// na ww vergeten klik, fieldset laten zien
if ( $verzonden == 1){      // als bericht verzonden is meldong bericht is verzonden     
        //$login = 0;
        printleegscherm();    
}elseif( isset ($_GET['p']) && $_GET['p'] == "ww_vergeten"){
    //echo $_GET['p'];
    printwwvergetenscherm(); // na klik op ww vergeten in het linlogscherm
     //echo $_GET['p'];   
    
}else{  	
    echo '<h1>Stichting</h1>'.PHP_EOL;
	echo '<hr />';
    header( "Location: ../cms/" ); // nadat bericht is gegeven klik op naar loginscherm
    printinlogscherm();
    echo '<a href="?p=ww_vergeten">Wachtwoord vergeten?</a>'.PHP_EOL;    
}    
}    
myfooter( );

mysql_close( $conn );

?>
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan