Jump to content
php.lv forumi

login


xfr33

Recommended Posts

man ir izveidots logins, bet bez datubāzes. pavisam vienkāršs, bet ir lieta ko vēlos uzzināt.

tātad situācija šāda:

<?
session_start();
?>
<html>
<title>Loginu sistema</title>
<body>
<form action="login.php" method="GET">
Niks: <input type="text" name="user" />
<br/>Parole: <input type="password" name="pass" />
<br/><input type="submit" value="OK" />
<input type="reset" value="No jauna!" />
</form>
<?php
$user = $_POST['user'];
$pass = $_POST['pass'];
if(($user=="zoss") && ($pass=="zoss123")
header('Location: members.php');
else
echo "Lietotājvārds vai parole nav pareiza!";
?>
</body>
</html>

 

zinu ka headeru nedrīkst likt zem html taga, bet kā tad lai tur ko izdara? var visu parmest pirms html taga, bet tik un tā, tas nav būtiski! un ja ir kāda cita funkcija ar kuru var automātiski aiziet uz citu lapu, tad kāds varētu pateikt! met ārā kļūdu, par kuru es nezinu, ko tā nozīmē!

kļūdas teksts:

Parse error: syntax error, unexpected T_STRING in C:\WEB\htdocs\login\login.php on line 17

Edited by xfr33
Link to comment
Share on other sites

Mums pašiem būs jāskaita, kur ir 17. rindiņa? Cilvēk, saskaiti kaut vienreiz pats un uzmanīgi izej katram simbolam cauri (17 un 16 rindiņā). Sintakses kļūdu atrast jau nu nav nekāda lielā māksla. Un iemācies lietot paste.php.lv.

 

zinu ka headeru nedrīkst likt zem html taga, bet kā tad lai tur ko izdara?

Vajag vispirms izdomāt, ko gribi darīt (izvadīt outputu, redirektēt, utt) un tikai tad to darīt:

<?php
 ...
 // te izdomā ko darīsi
 ...

 // ja redirekts
 if (redirekts) { header(...); die(); }

 // ja outputs
?><html>
<body>
<?php echo "body"; ?>
...

Atdali lapas loģiku (php) no lapas reprezentācijas (html).

 

P.S. topika nosaukums kā vienmēr neko neizsaka par tavu problēmu. Kādu tu iedomājies jēgu no foruma, kurā visi topiki saucas "login", "sessijas", "help", "kļūda" ?

 

Edit: Un kodā vajag likt atkāpes! (indent). Citādi tas izskatās pēc miskastes.

Link to comment
Share on other sites

kapēc "method="GET""??? un vispār:

 

<?
session_start();
?>
<?php
$user = $_POST['user'];
$pass = $_POST['pass'];
if($user=="zoss" && $pass=="zoss123") {
header('Location: members.php');
}
else {
echo "Lietotājvārds vai parole nav pareiza!";
}
?>
<html>
<title>Loginu sistema</title>
<body>
<form action="login.php" method="POST">
Niks: <input type="text" name="user" />
<br/>Parole: <input type="password" name="pass" />
<br/><input type="submit" value="OK" />
<input type="reset" value="No jauna!" />
</form>

</body>
</html>

Edited by Pentiums
Link to comment
Share on other sites

bubu, bet ko tas T_STRING nozīmē?

To, ka php interpretators tavā kodā ir ieraudzījis string literāli.

Labi būs tev hints: atverošo iekavu skaitam php kodā ir VIENMĒR jāsakrīt ar aizverošo iekavu skaitu. Tieši tāpat kā matemātikā, kur to māca jau, nez, kādā 6/7 klasē, ja ne agrāk.

 

pie die, kas ir jāliek?

http://php.net/die

Link to comment
Share on other sites

tagad ir kā vēlējies?

 

<?
session_start();
?>
<?php
if (isset($_POST['submit'])) {
$user = $_POST['user'];
$pass = $_POST['pass'];
if($user=="zoss" && $pass=="zoss123") {
header('Location: members.php');
}
else {
$bummmmmm = "Lietotājvārds vai parole nav pareiza!";
}
}
?>
<html>
<title>Loginu sistema</title>
<body>
<form action="login.php" method="POST">
Niks: <input type="text" name="user" />
<br/>Parole: <input type="password" name="pass" />
<br/><input type="submit" value="OK" name="submit" />
<input type="reset" value="No jauna!" />
</form>
<?php echo $bummmmmm; ?>
</body>
</html>

Link to comment
Share on other sites

×
×
  • Create New...