T-shirt apdruka,un mazo uzlīmju taisīšana. 4
Profesionālie tulkošanas pakalpojumi. 5
Pardod: MSI GeForce RTX 2080ti gaming X TRIO Graphic Card 1
Vēlos piedāvāt darbu online. 0
OCTA termiņš 13
Ka sauc Pasaules dalu kura dzivojam 4
google 1
Taustiņu funkcijas izmainīšana 2
Torrent 1
ESET izlaiž 2017.gada produktu izdevumus 23
VIAPLAY: Video tiešsaistē skatās 70% Latvijas iedzīvotāju 21
Katrā desmitajā datorā joprojām izmanto Windows XP 2
Google tuvākajā laikā atteiksies no Chrome paplašinājuma palaidēja 2
Acer ievieš nozares pirmo ieliekto monitoru ar acu izsekošanas funkcionalitāti 4
Adobe laiž klajā ārkārtas atjauninājumu 3
Tests: Cik precīzs ir "lēta gala" velo spidometrs? 3
Leģendārie telefoni – Nokia 3310 un citi 3
Puisis iziet Super Mario spēli mazāk kā piecu minūšu laikā un labo pasaules rekordu 2
Līdz 29.jūlijam atjaunini savu Windows bez maksas! 3
Kā uzlabot televizora skaņu? 2
Programma, ar kuras palīdzību fotogrāfijas pārveidot .gif formātā 1
Aproce, kas sastāv no 25 instrumentiem 1
Trīs padomi televizora izvēlei 2
Windows 7 ēra tuvojas noslēgumam, Microsoft koncentrējas uz Windows 10 1
Lietotāji online: 111
Reģistrētie lietotāji online: 0
Viesi online: 111
Nu tā mēģinu izveidot ļoti primitīvu login sistēmu, un kad logojas iekšā tad izmantoju šādu kodu ->
<form method="post" action="secret.php">
Niks: <type="text" name="user" />
Parole: <type="password" name="pwd" />
<input type="submit" value="login" />
</form>
Un tad otrā lapa, jeb (secret) izdara šādi ->
if ($_POST['user'] == "user" && $_POST['pwd'] == "pwd")
{
echo'viss strādā (Šo vardu redz tikai ielogojušies cilveki!)';
}
else
{
echo 'Nepareiza parole vai lietotājvārds ';
}
Bet atkal apsleptaja koda es ievadau linku, kuru nospiezot aizved uz nakamo lapu, kura vajag panakt to pašu, tāpēc man ir jautājums, kā varētu dabūt tā, ka $_POST nav jāievada visu laiku, bet ielogojoties parādās viņš apslēpts un staigā visu laiku līdzi, man vajag panākt tā ka ->
$_POST['user'] == "user" un $_POST['pwd'] == "pwd"
un šie post mainīgie staigā līdzi, tas ir katrā failā es ievadu noteiktu rindiņu, kas apzīmē šos divus mainīgos, kādi tie ir ;)
Paldies, rokers! ! !
Vislabāk ar sesijām.
Skripta sākumā katrā PHP failā ievieto
session_start();
Tad tev būs ieejami mainīgie $_SESSION['nosaukums'], kuri saglabāsies arī pēc lapas pārlādes.
Zem "echo'viss strādā" ieliec
$_SESSION['ielogojies']=1;
Un tad katrā lapā pārbaudi
if($_SESSION['ielogojies']) echo "viss OK"; else echo "Lūdzu ielogojies!";
Pie ielogošanās jāpiešķir sesija:
session_start();
f ($_POST['user'] == "user" && $_POST['pwd'] == "pwd")
{
echo'viss strādā (Šo vardu redz tikai ielogojušies cilveki!)';
$_SESSION['logged'] = true;
}
else
{
echo 'Nepareiza parole vai lietotājvārds ';
}
Un tad visās pārējās lapās augšā ieraksti rindiņas:
session_start();
if ($_SESSION['logged'] != true) {
echo 'Pieeja liegta!';
exit();
}
Paldies ;)
Šī rindiņa ->
if($_SESSION['ielogojies']) echo "viss OK"; else echo "Lūdzu ielogojies!";
Jārakstā tā??
<?php
if ($_SESSION['ielogojies'])
{
echo'viss ir ok!';
}
else
{
echo 'Lūdzu ielogojies';
}
?>
#4> Tas jau ir tas pats. {} ir obligāti jāizmanto tikai tad, ja tajā ir vairākas komandas.
Starp citu, katrā lapā jau nerakstīsi "viss ir ok!", tā kā useris piemēriņš ir nedaudz labāks.
Un kā tulkojas šis errors?
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\web\htdocs\new\index.php:1) in C:\web\htdocs\new\l\login.php on line 5
#6> Pirms session_start() nedrīkst neko nosūtīt klientam (ar echo vai savādāk).
Ja tu izmanto utf-8 kodējumu, tad saglabā savu dokumentu kā "UTF-8 without BOM" (Piemēram, programmā Notepad++).
BOM ir tie pāris uft-8 speciālie simboli, kas ir faila sākumā un tiek nosūtīti atverot failu.
Hm, A, ir iespejams dabut, ka es velejos, jo man lapa sastav no ljot daudziem failiem, un bus gruti visus parkodet...
Nāksies... Vai tad tik liels projekts, ka tik ļoti daudz failu? Varbūt ne pa tēmai, bet kā iesācējam paskaidrošu, ka programmēšanas valodu pielietojuma burvība standarta tīmekļa lapās ir vienkāršība lapas struktūrā. Proti, ar tā paša PHP palīdzību var izveidot vienkāršu, informatīvu mājas lapu, kas sastāv no viena vienīga faila. Tādēļ neizprotu, kādēļ Tev ir "ļoti daudz" failu, ja vien tā lapa nav kāds nestandarta (vai arī čerez ž...) risinājums.
Iesaku papētīt kādus tutoriāļus internetā, tur minētos piemērus. Piemēram, šajā gadījumā Tev noteikti palīdzēs http://www.google.lv/search?hl=lv&q=php+login&btnG=Mekl%C4%93t…
#8> Cik ir "ļoti daudzi faili"? 10? 100?
Ko tieši tu domāji ar "būs grūti visus pārkodēt"?
Ja to domāji par #7 komentu, tad tur nekas nav jāpārkodē, viens klikšķis programmā un gatavs.
Pie tam uz utf-8 ir jāpārkonvertē tikai tie faili, kuros ir latviešu u.c. valodu speciālie simboli (garumzīmes, krievu burti utt). Pārējie faili paliek uz ANSI un tur nekas nemainās.
Skaidris ;) Es cenšos visu laiku atrast to vienkāršāko variantu, bet laikam šoreiz nesanāks ;)
A, nevaretu but ta, ka kaut kur servera setingos atslegti cookies? ;)
ja tev raadaas #6 errors tad papildinot #7 gribu pateikt, ka viss kas ir aarpus <?php ?> tiek uzskatiits par HTML taatad, ja tev pirms <?php ir kaut tukshuma ziime, tad tas jau tiek suutiits prom, ar include failiem tas pats, nu kaut kaa taa.
Nu ko tur pārkodēt...
Doma apmēram tāda:
<?php
session_start();
if (!empty($_POST['user'])) { $user = $_POST['user']; } else { $user = ""; }
if (!empty($_POST['pass'])) { $pass = md5(trim($_POST['pass'])); } else { $pass = ""; }
if (!isset($_SESSION['user']) && !isset($_SESSION['pass']) ) {
$_SESSION['user'] = $user;
$_SESSION['pass'] = $pass;
} elseif(isset($_SESSION['user']) && isset($_SESSION['pass'])) {
if (!empty($_POST['user']) && !empty($_POST['pass'])) {
$_SESSION['user'] = $user;
$_SESSION['pass'] = $pass;
} else {
$user = $_SESSION['user'];
$pass = $_SESSION['pass'];
}
}
if($user != 'user' or $pass != '5f4dcc3b5aa765d61d8327deb882cf99') {
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Lietotajs: <input type="text" name="user" /><br />
Parole: <input type="password" name="pass" /><br />
<input name="submit" type="submit" value="Iebrist" />
</form>
<?php
exit;
}
?>
Saglabājam kā failu login.php
un katram failam, kuru gribam aizsargāt ar paroli, pašā sakumā liekam
require('login.php');
eu cik ilgi tas session straadaa
man arii tas iepatikas saavai lapai aizstaasu nedroso get
Ko tu kur gribi aizstāt? GET, POST, SESSION, COOKIE katram ir savs pielietojums...
#14> Session strādā, līdz aizver pārlūku/iztīra sesijas, vai PHP nodzēš mainīgos ar unset($_SESSION).
Paldies, bet es atradu kaut ko lidzigu #13 un izmantoju ;)
Šis ļoti labi noder login sistēmai -> http://www.php-login-script.com/
Un vēlviens jautājums, kā angliski sauktos lieta, kad izmantojot formas (PHP un HTML), rediģētu datubazes? Piemeram labojot savu profilu.
Bet tās rindiņas, kas apzīmē ka
vajag likt iekšā otrajā lapā, jeb secret lapā...