Hallo allemaal,
Ik heb een script gevonden waarmee je een <p> kan bewerken (javascript). Nu wilde ik dit wellicht gaan gebruiken, ik wil natuurlijk wel dat niet iedereen dit alleen. Hoe zou ik een makkelijke login / beveiliging toe kunnen voegen aan dit script?
var editing = false;
if (document.getElementById && document.createElement) {
var butt = document.createElement('BUTTON');
var buttext = document.createTextNode('Bewerken');
butt.appendChild(buttext);
butt.onclick = saveEdit;
}
function catchIt(e) {
if (editing) return;
if (!document.getElementById || !document.createElement) return;
if (!e) var obj = window.event.srcElement;
else var obj = e.target;
while (obj.nodeType != 1) {
obj = obj.parentNode;
}
if (obj.tagName == 'TEXTAREA' || obj.tagName == 'A') return;
while (obj.nodeName != 'P' && obj.nodeName != 'HTML') {
obj = obj.parentNode;
}
if (obj.nodeName == 'HTML') return;
var x = obj.innerHTML;
var y = document.createElement('TEXTAREA');
var z = obj.parentNode;
z.insertBefore(y,obj);
z.insertBefore(butt,obj);
z.removeChild(obj);
y.value = x;
y.focus();
editing = true;
}
function saveEdit() {
var area = document.getElementsByTagName('TEXTAREA')[0];
var y = document.createElement('P');
var z = area.parentNode;
y.innerHTML = area.value;
z.insertBefore(y,area);
z.removeChild(area);
z.removeChild(document.getElementsByTagName('butto n')[0]);
editing = false;
}
document.onclick = catchIt;
- Vraag over script
-
02-12-2011, 23:36 #1Particulier
- Berichten
- 570
- Lid sinds
- 15 Jaar
Vraag over script
-
03-12-2011, 09:56 #2Leadweb Webdesign
- Berichten
- 119
- Lid sinds
- 12 Jaar
Re: Vraag over script
Inloggen met alleen puur javascript is not done, de enige optie zou dan zijn om ajax te gebruiken waarmee je de gegevens via javascript naar een achterliggende php pagina stuurt.
-
03-12-2011, 20:32 #3Particulier
- Berichten
- 570
- Lid sinds
- 15 Jaar
-
03-12-2011, 20:49 #4Leadweb Webdesign
- Berichten
- 119
- Lid sinds
- 12 Jaar
Re: Vraag over script
Qua opzet:
login.php <== een pagina waarin je inlogformulier staat, hierbij geef je de button een javascript call, bijvoorbeeld: onclick="login();"
javascript.js <== een javascript include pagina waarin je een javascript functie aanmaakt onder de naam login.
loginprocess.php <== de pagina waarin je de daadwerkelijke inlog controle uitvoert.
-------------------
Login.php > javascript.js > loginprocess.php > javascript.js > Login.php
-------------------
Login.php
Gewoon een form met name="username" id="username" & name="password" id="password"
P.S. Zet onder je formulier een <div id="result"></div>
In deze div wortd het resultaat weergegeven indien er een error is
-------------------
javascript voorbeeld:
Code:function login() { var username = encodeURIComponent(document.getElementById('username').value); var password = encodeURIComponent(document.getElementById('password').value); var query = "loginprocess.php?rid=" + Math.random() + "&usename=" + username + "&password=" + password; req = new GetXmlHttpObject(); req.onreadystatechange = function() { if (req.readyState == 4) { if (req.responseText == 'gelukt') { document.getElementById('result').style.backgroundColor = 'green'; document.getElementById('result').style.padding = '5px'; document.getElementById('result').innerHTML = 'De actie is succesvol uitgevoerd'; setTimeout( location.reload(true), 3000 ); } else { document.getElementById('result').style.backgroundColor = 'red'; document.getElementById('result').style.padding = '5px'; document.getElementById('result').innerHTML = req.responseText; } } } req.open( 'POST', query, true ); req.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8' ); req.setRequestHeader( 'Content-Length', query.length ); req.send( query ); }
-------------------------------------
Loginprocess.php
php pagina waarin je $_POST['username'] & $_POST['password'] controleert met je database.
Is het gelukt dan zet je ene session of cookie en doe je een: echo "gelukt";
Dit zal zorgen dat de javascript op onder je loginform laat zien dat het gelukt is en vervolgens de pagina refresht na 3 seconden.
Is het mislukt dan echo je een een error bericht dat onder het login formulier wordt weergegeven.
Succes :D
-
03-12-2011, 20:57 #5Particulier
- Berichten
- 570
- Lid sinds
- 15 Jaar
Re: Vraag over script
Heel erg bedankt!
-
03-12-2011, 21:00 #6Leadweb Webdesign
- Berichten
- 119
- Lid sinds
- 12 Jaar
Re: Vraag over script
Oh ik ben nog 1 onderdeel vergeten, in de javascript pagina zet je onder de function het volgende:
Code:function GetXmlHttpObject() { var xmlHttp = null; try { // Firefox, Opera 8.0+, Safari xmlHttp = new XMLHttpRequest(); } catch (e) { //Internet Explorer try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; }
-
03-12-2011, 21:12 #7Particulier
- Berichten
- 570
- Lid sinds
- 15 Jaar
Re: Vraag over script
Ik krijg loginprocess.php niet voor elkaar, een verbinding maken met de database lukt, maar dan? En kan ik mijn eigen javascript plaatsen in de javascript.js of kan die op de pagina die ik wil bewerken later?
-
03-12-2011, 21:20 #8Leadweb Webdesign
- Berichten
- 119
- Lid sinds
- 12 Jaar
Re: Vraag over script
PHP Code:if ((isset($_POST['username'])) && (isset($_POST['password'])))
{
//controleren of de gebruikersnaam en wachtwoord voorkomen in de database
$query_login = "
SELECT
*
FROM
gebruikers
WHERE
username= '". mysql_real_escape_string($_POST['username']) ."'
AND
password= '". md5($_POST['password']) ."'
";
$result_login = mysql_query($query_login);
$rows_login = mysql_num_rows($result_login);
if ($rows_login > 0)
{
//Er is een gebruiker gevonden, nu de gegevens in een sessie array zetten en pagina refreshen door "gelukt" te returnen, javascript zal na 3 seconden de pagina refreshen.
$_SESSION['user_info'] = mysql_fetch_assoc($result_login);
echo "gelukt";
}
else
{
//Er is geen gebruiker gevonden, foutmelding weergeven.
echo "Inloggen mislukt, probeert u het nog eens. \n";
}
}
else
{
echo "U dient beide velden in te vullen. \n";
}
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic