problemen met GET USER ID
ik heb een beveiligde pagina op een van mijn sites, waar vooraf gekozen USERS kunnen inloggen, met hun username, en password.
ik zou graag weten, wanneer én welke user heeft ingelogd. De eenvoudigste manier lijkt me, dat ik een email ontvang met daarin de USERNAME.
onderstaand de code die ik in de pagina heb ingebouwd..
session_start();
if(!isset($_SESSION[“username”]))
{
header(‘Location: something_sales_login.php’);
exit;
}
ik heb geprobeerd met GET USER ID...
session_start();
if(!isset($_SESSION[“username”]))
{
$the_user = get_user_by(‘email’, ‘[email protected]’);
$the_user_id = $username->ID;
header(‘Location: something_sales_login.php’);
exit;
}
maar op de een of andere manier, werkt dit niet. ik hoop dat er iemand is die een simpele oplossing weet.
get_user_by() is geen standaard php-functie dus die moet ergens gedefinieerd zijn
$username is ongedefinieerd
$the_user en $the_user_id probeer je ergens een waarde te geven en gebruik je verder nergens meer.
Aangezien get_user_by() geen bestaande funcite is en $username ongedefinieerd is ullen $the_user en $the_user_id ok geen waarde krijgen.
Zo weet je in ieder geval wat er fout gaat.
daarom zit ik ook hier in de beginners afdeling :)
is er binnen PHP wel een mogelijkheid, om mijn wens te kunnen laten werken, dus een email ontvangen met de username?
Kijk op http://phpwiki.santhe.nl/index.php?title=De_juiste_mailheaders hoe je zo'n bericht goed opmaakt.
Gewijzigd op 07/02/2015 11:24:12 door Niek Kasius
Arjan stax op 07/02/2015 09:57:54:
Dank je wel pipo..
daarom zit ik ook hier in de beginners afdeling :)
is er binnen PHP wel een mogelijkheid, om mijn wens te kunnen laten werken, dus een email ontvangen met de username?
daarom zit ik ook hier in de beginners afdeling :)
is er binnen PHP wel een mogelijkheid, om mijn wens te kunnen laten werken, dus een email ontvangen met de username?
Ja, dit is wel degelijk mogelijk.
Maar is het de bedoeling dat jij dit, evt met wat hulp van ons, zelf op gaat lossen ?
Of is het de bedoeling dan wij het voor jou gaan oplossen ?
In het eerste geval zou ik zeggen kijk eerst eens hoe je de gebruikersnaam over kunt dragen, ik weet zeker dat dit ongeveer 1.000.000.000 keer te vinden is op het www
Ga vervolgens een kijken hoe je een email verstuurd via php.
In het tweede geval haak ik af.
Ik ben trouwens wel heel erg benieuwd hoe jij bij die niet bestaande functie terecht gekomen bent. Ik kan mij erg slecht voorstellen dat je dat zelf bedacht hebt.
Ik heb wel een erg sterk vermoeden maar in dat geval hou je informatie achter.
Niek Kasius op 07/02/2015 11:23:33:
Maar als je het via de homepage van je eigen host doet dan moet je server dat wel accepteren dat er E-mails verstuurd worden van uit een website. want niet iedere host heeft dat, en ook heeft niet ieder host accepteert dat je PHP op je homepage draait.
Als je bij een regulier hostingbedrijf een domein / webruimte koopt, mag dat geen enkel probleem zijn. Ga je uit van gratis (tk, woelmuis, ...) of je eigen provider (Vodafone, Ziggo, ....) dan is de kans groot dat je inderdaad beperkt wordt.
@TS: waarom een mail sturen en niet de gegevens vastleggen in een database?
je gaat inderdaad zoeken op het internet, en ik kwam ergens dat GetuserID tegen, dus dat ga je proberen.
Zoals ik zei, heb ik nog niet veel ervaring met het PHP.
Mijn host, staat trouwens PHP toe, dat is geen enkel probleem, zowel emails als de login, gebruk ik PHP.
Deze aanvulling op het login gebeuren zou ik inderdaad graag werkende hebben. Vandaar dat ik hier om advies kom.
alle hulp zou welkom zijn, maar nog belangrijker is het, om er iets van te leren.
Ik zie trouwens een uitroepteken ( ! ) staan voor je isset-statements. De inhoud van het if-blok wordt dus uitgevoerd op het moment dat de username niet is ingesteld in je sessie, dit houdt waarschijnlijk in dat een gebruiker op dat moment dan ook niet is ingelogd.
Als je wilt weten wanneer iemand inlogt moet je dit registreren op het moment dat iemand inlogt. Dit zou je dus in je inlogroutine moeten regelen, of op een plek waar je in kunt haken op deze inlogroutine.