Reload in plaats van pagina load een Div load
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
$.ajaxSetup({ cache: false });
var refreshId = setInterval(function()
{
$('#sms').fadeOut("slow").load('sms.php').fadeIn("slow");
}, 30000);
$.ajaxSetup({ cache: false });
</script>
<script type="text/javascript">
$.ajaxSetup({ cache: false });
var refreshId = setInterval(function()
{
$('#sms').fadeOut("slow").load('sms.php').fadeIn("slow");
}, 30000);
$.ajaxSetup({ cache: false });
</script>
Deze werkt goed en doet wat ik wil op 1 puntje na.
Hij load nu een pagina ( sms.php ) en doet dit in de <div id="sms"></div>
Maar ik zou graag zien dat hij alleen de div reload en niet de pagina opnieuw in de <div> zet. Want hij moet een pagina reloaden die in een admin panel staat. En door het stukje script die er voor zorgt dat je de pagina niet rechtstreeks kan aanspreken loopt de reload nu dus fout.
Daarom kan ik dit om zetten zodat hij de div reload plaats van de pagina opnieuw inladen. Maar dan wel zo dat de inhoud vernieuwd van de sms.php pagina.
Het reload werkt verder wel na behoren en vind ook wel de pagina.
Alleen door dit stukje code:
Code (php)
Gooit hij bij het reloaden dus mijn index.php pagina, omdat de rechtstreekse url dus word aangesproken. En dat mag dus niet. Daarom was ik op zoek na een manier om de <div> te reloaden en dat de file met db info ook word gerefrest zonder dat de pagina aangesproken word.
Want anders zou je dus geen hader moeten doen maar gewoon een include..
Zodra er iets uit of in de database gezet word, moet er bij een reload dat te zien zijn op die pagina.
Hoe zou ik het moeten aan pakken volgens jou?
Want ik kan niet om het laatste stukje heen. Die beveiligt namelijk de directe url als men niet is ingelogd.
Quote:
Want ik kan niet om het laatste stukje heen. Die beveiligt namelijk de directe url als men niet is ingelogd.
Kijk, nu worden we wat wijzer wat het echte probleem is... :)
Als men niet is ingelogd, dan moet je dat controleren met een session.
Wat je nu hebt is niet echt een beveiliging.
Dus de vraag is meer waarom doe je het niet met een session?
Ik heb dit gedeelte niet zelf gemaakt, maar gekregen van iemand.
Het werkt verder wel goed hoor daar niet van.
Alleen ik kom bij het reload dus nu bij een klein probleempje te staan.
Ik zal eens kijken hoe het werkt met een session want die word wel aangemaakt en ook session id opgeslagen in database. Bij het uitloggen word deze session id weer uit de db gedelete.
Mocht je een stukje beveiliging hebben voor mij die met session werkt. Zou ik daar blij mee zijn en kan ik hem zelf aanpassen.
Geef eens hier de uitkomst van..
Raar, dan laat hij geen gegevens zien die in de SESSION zou moeten zitten.
session_start() staat ook ergens bovenin je script?
Maar ik krijg allen: Array terug. Verder niks.
Uhm..
plaats eens bovenin je scripts:
Op ieder php pagina doe je nu bovenin zetten:
En dan bij de pagina die beveiligd moet worden (ook bovenin session_start zetten):
Gewijzigd op 21/07/2012 10:26:46 door Bart V B
Als ik dit er van maak:
Dan krijg ik de sid terug. Die staat dus voor session id in de db.
Zodra ik op uitloggen druk word deze verwijdert uit de db. Klik ik gewoon de browser dicht en bezoek de pagina opnieuw, dan kan ik gewoon verder waar ik was gebleven zonder inlog. Alleen naar 3uur inactief word ik auto uitgelogt of na 3 uur pagina weer bezoeken moet ik weer inloggen.
Dat kan een bezoeker aanpassen.
Je moet echt een session ervan maken.
Neem aan dat nu overal in je phpscripts een session_start() staat?
Dan moet je even het stukje laten zien waar iets staat van setcookie()
Want daar gaan we ook een session aanmaken..
Die staat dus op 3 plekken. 2x setcookie() waar de tijd op +3600 gezet word en 1x word de tijd op -3600 zodat de cookie ongeldig word. Waar de +3600 staat heb ik nu toegevoegd.
Bij -3600
Bij het inloggen word de $_SESSION aangemaakt en $_prin_r gevlult met:
Haal ik nu weg:
En log opnieuw in dan blijf ik de zelfde array houden. Terwijl ik zou zeggen dat gebruiker weg moet zijn.
Maar dit is nog op te lossen. Ben alleen erg benieuwd wat ik op beveiligde pagina moet zetten nu?
Toevoeging op 21/07/2012 11:28:37:
Kan ik op beveiligde pagina;s dan gewoon dit neer zetten?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
// We werken ook hier met sessies
session_start();
// Controleren of de bezoeker ingelogd is
if(!isset($_SESSION['logged_in']) || $_SESSION['logged_in'] == false)
{
header('Location: ../index.php.php');
exit();
}
?>
// We werken ook hier met sessies
session_start();
// Controleren of de bezoeker ingelogd is
if(!isset($_SESSION['logged_in']) || $_SESSION['logged_in'] == false)
{
header('Location: ../index.php.php');
exit();
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
session_start();
// als session logged_in niet true is..
if($_SESSION['logged_in'] === false)
{
// verwijderen we dus alle session variabelen uit de array
session_destroy();
// hier sturen we hem door naar een andere pagina
header('Location: login.php');
// hier stoppen we het script
exit();
}
?>
session_start();
// als session logged_in niet true is..
if($_SESSION['logged_in'] === false)
{
// verwijderen we dus alle session variabelen uit de array
session_destroy();
// hier sturen we hem door naar een andere pagina
header('Location: login.php');
// hier stoppen we het script
exit();
}
?>
Ik ga het straks even proberen moet even snel weg. Dus komt er vanmiddag nog even op terug.
Bedankt vast voor de hulp. Ben al aardig verder gekomen door dit.
Wist niet hoever je al was met php...
ow, en wel een session_destroy() doen, want dan weet je zeker dat die sessions allemaal zijn verdwenen..
Gewijzigd op 21/07/2012 11:37:22 door Bart V B
Alleen ik zoek erg veel op in google. En bij aanmaken $_SESSION voor inlog kwam ik deze pagina tegen URL
Daar heb ik het vanuit gehaald. Ook omdat ik wist dat hun wel goede tuts hebben.
Ik ga het straks na de boodschappen en winkelen ff proberen en laat uitkomst weten.
Ik ga dan ook proberen om de cookie's te verwijderen na het inloggen. Want dan neem ik aan dat de SESSION gewoon blijst bestaan. Dan kan ik toch goed kijken of de SESSION goed werkt of niet?
Dus je moet even kijken wat je wil verder..
Alleen ik mer nu op dat zodra de inhoud in de db verandert en de pagina reload, dat hij dan de oude inhoud blijft tonen.
Misschien daar nog oplossing voor?