norra54Medlem sedan sep. 2003112 inlägg
Hej,
Använder mig av Webdesignskolans enkla login-scrip i php, se nedan.
Formuläret (anv.namn o lösen) visas i ett pop-up-fönster och i.o.m. det visas den skyddade sidan tyvärr också i samma pop-up-fönster.
Jag önskar att sidan i.st. visas i ett nytt webläsar-fönster och kanske t.o.m. att pop-up:en stängs.
Hur löser man det måntro?
<?php
// startar sessionen
session_start();
// ange ditt användarnamn och lösenord i variablerna
$anvandarID = "test";
$losenord = "test";
if (isset($_POST["anvandarID"]) && isset($_POST["losenord"])) {
// kontrollerar om användarnamn och lösenord är rätt
if ($_POST["anvandarID"] === $anvandarID && $_POST["losenord"] === $losenord) {
// ange den session som lagrar rätt inloggningsuppgifter
$_SESSION["inloggning"] = true;
// efter rätt inloggning förflyttas användaren till den skyddade sidan
header("Location: index.php");
exit;
}
// om användarnamn och lösenord är fel lagras meddelandetexten i variabeln
else {$felmeddelande = "Du har angivit fel användarnamn eller lösenord!";}
}
?>
SPiNMedlem sedan mars 20005 832 inlägg
På sidan där du öppnar pop-upfönstret kan du tilldela ett namn, som du sedan använder som "target" för formuläret i pop-upfönstret.
[b]OpenLogin.php[/b]
<html>
<head>
<script type="text/javascript">
window.name = "parentWindow";
</script>
</head>
<body>
<!-- Kod för att öppna ditt pop-up //-->
...
[b]PopUp.php[/b]
<html>
...
<form action="login.php" method="post" target="parentWindow" onsubmit="setTimeout('self.close()', 500);">
...
Nu postar formuläret informationen till 'login.php', via huvudfönstret och stänger sig självt efter en halv sekund.
F.ö. passar den här tråden bättre i JavaScript-forat, då frågan inte kan lösas med PHP.
PeddaMedlem sedan juni 20004 880 inlägg
norra54Medlem sedan sep. 2003112 inlägg
Hur skulle det då se ut, om:
<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Eric King (eric_andrew_king@hotmail.com) -->
<!-- Web Site: http://redrival.com/eak/ --><!-- This script and many more are available free online at The JavaScript Source!! http://javascript.internet.com -->
function NewWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
// OBS! ingen radbrytning i texten nedan
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
//slut på område utan radbrytning
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
</script>
resp.
<a href="200901/login.php" onclick="NewWindow(this.href,'name','320','180','no');return false;">Länk</a>
Peter SMedlem sedan dec. 20025 484 inlägg
<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Eric King (eric_andrew_king@hotmail.com) -->
<!-- Web Site: http://redrival.com/eak/ --><!-- This script and many more are available free online at The JavaScript Source!! http://javascript.internet.com -->
window.name = "mainWin";
function NewWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
// OBS! ingen radbrytning i texten nedan
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
//slut på område utan radbrytning
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
</script>
<a href="200901/login.php" onclick="NewWindow(this.href,'name','320','180','no');return false;">Länk</a
I login.php:
<form target="mainWin" onsubmit="window.close()">
Anv.namn: <input>
Lösenord: <input>
...
</form>
norra54Medlem sedan sep. 2003112 inlägg
Tack, det ser jättebra ut och fungerar!
Dock;
Anger jag fel lösenord får jag upp inloggn.formuläret i ett stort, nytt fönster.
Jag vill att pop-up:en ska ligga kvar och php-felmedd. ("Du har angivit fel osv..." ska visas i pop-up:en.
Går det att göra så?