xfr33 Posted July 30, 2008 Report Share Posted July 30, 2008 (edited) 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 July 30, 2008 by xfr33 Link to comment Share on other sites More sharing options...
bubu Posted July 30, 2008 Report Share Posted July 30, 2008 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 More sharing options...
Pentiums Posted July 30, 2008 Report Share Posted July 30, 2008 (edited) 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 July 30, 2008 by Pentiums Link to comment Share on other sites More sharing options...
xfr33 Posted July 30, 2008 Author Report Share Posted July 30, 2008 bubu, bet ko tas T_STRING nozīmē? nu man vajag redirektēt uz to lapu members.php! if (redirekts) { header(...); die(); } pie die, kas ir jāliek? Link to comment Share on other sites More sharing options...
xfr33 Posted July 30, 2008 Author Report Share Posted July 30, 2008 pentium viens jautājums tikai, tu tikai visu php kodu pacēli pirms html? vai arī kādu sintakses kļūdu palaboji? Link to comment Share on other sites More sharing options...
Pentiums Posted July 30, 2008 Report Share Posted July 30, 2008 nu taču salīdzini to php kodu ar sevis rakstīto Link to comment Share on other sites More sharing options...
bubu Posted July 30, 2008 Report Share Posted July 30, 2008 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 More sharing options...
xfr33 Posted July 30, 2008 Author Report Share Posted July 30, 2008 bet tgd tas if else neiet! uzraksts "Lietotājvārds vai parole nav pareiza!"; rādas visu laiku un headers arī nestrādā! Link to comment Share on other sites More sharing options...
Pentiums Posted July 30, 2008 Report Share Posted July 30, 2008 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 More sharing options...
xfr33 Posted July 30, 2008 Author Report Share Posted July 30, 2008 bet headers tik un tā nestrādā! Link to comment Share on other sites More sharing options...
Pentiums Posted July 30, 2008 Report Share Posted July 30, 2008 kā tas izpaužas? man viss strādā. failu seivoji ar UTF-8 bez BOM? Link to comment Share on other sites More sharing options...
xfr33 Posted July 30, 2008 Author Report Share Posted July 30, 2008 UTF-8 bez BOM ir jāliek vienmēr? kam tas kodējums tieši ir vajadzīgs? pentium tev bija taisnība! Link to comment Share on other sites More sharing options...
Pentiums Posted July 30, 2008 Report Share Posted July 30, 2008 uzliec savam editoram pec noklusējuma to kodējumu un tad turpmāk par to nebūs jāpiedomā. Link to comment Share on other sites More sharing options...
Recommended Posts