PHP zaheslování stránky POMOC – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

PHP zaheslování stránky POMOC – PHP – Fórum – Programujte.comPHP zaheslování stránky POMOC – PHP – Fórum – Programujte.com

 

Eva
~ Anonymní uživatel
18 příspěvků
20. 1. 2016   #1
-
0
-

Zdravím všechny, 

nutně bych potřebovala pomoct se zaheslováním stránky. Mám stránky, které jsou řešené pomocí php. Nyní mám udělat jednu stránku tak, aby se do ní zadalo heslo a pokud bude správné, odkáže mě na další php stránku. Bohužel absolutně netuším, jak to udělat. Prozatím to mám takto - 

<!-- Page Content -->
			<div id="page" class="row">
				
				<!-- Content Area -->
				<div id="content" class="12u skel-cell-important">
					<!-- Main Content Area -->
                    <section>
                    <h2>Vstup pro učitele</h2>
                        <div id="ucitele">
                        <form>
                            Zadejte heslo pro přístup:<br>
                            <input type="password" name="psw">
                            <input type="submit" value="Povtrď">
                            <br>
                            <br>
                        </form>
                        </div>
                    </section>
                    
                </div>
</div>

Mohl by jste mi prosím někdo pomoci? 

Nahlásit jako SPAM
IP: 88.103.112.–
Kit+15
Guru
20. 1. 2016   #2
-
0
-

#1 Eva
Pokud chceš jednoduché, elegantní, rychlé a účinné řešení, použij .htpasswd

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
3981 příspěvků
20. 1. 2016   #3
-
0
-

Pouzij session. session_start, $_SESSION a kontroluj nastavene heslo v session.

V tom tvem kodu, u <form> nemas definovane action, nemas ani metogu, takze po odeslani se zobrazuje ta sama stranka a data budou v $_GET. Presmerovani na jinou stranku se da resit pres
<?php if (isset($_GET['psw']) && $_GET['psw']=='heslo') {...} ?>
... pak muze byt treba header('Location'...stranka); nebo include('soubor.php')
No, ale pozor, to neuklada hesla pro dalsi stranku, takze pak bude ucitel zas odhlasen. Proto si uloz heslo do session.

Hesla bych ale nekontroloval takhle, ale vuci databazi, treba mysql. Navic jsem nezminil spoustu bezpecnostnich trhlin.

Nahlásit jako SPAM
IP: 193.84.207.–
peter
~ Anonymní uživatel
3981 příspěvků
20. 1. 2016   #4
-
0
-

   

<?php

if (isset($_GET['psw']) && $_GET['psw']=='heslo')
	{
	echo 'Prihlasen ucitel';
	//include_once 'jina_stranka.php';
	}
else	{
	echo 'Neprihlasen';
	}



?>
<h2>Vstup pro učitele</h2>
<div id="ucitele">
<form>
    Zadejte heslo pro přístup:<br>
    <input type="password" name="psw">
    <input type="submit" value="Povtrď">
    <br>
    <br>
</form>
</div>

<br><a href="?">testovaci odkaz 1</a>
<br><a href="?psw=heslo">testovaci odkaz 2 prihlaseni</a>


Asi takhle. Kdyz vyplnis formular nebo kliknes na "odkaz 2 prihlaseni", tak to bude psat prihlasen. Ale, kdyz kliknes na neco jineho (treba "odkaz 1"), tak budes odhlasena. Proste si php nikde udaje neulozil. K tomu je session nebo cookies.

Nahlásit jako SPAM
IP: 193.84.207.–
Standa
~ Anonymní uživatel
122 příspěvků
1. 3. 2016   #5
-
0
-

hl.strana

<? session_start();
  $server = "sdatabase";
  $login = "";
  $heslo = "";
  $databaze = "";
  $spojeni = mysqli_connect($server, $login, $heslo, $databaze);
  if (mysqli_error($spojeni)) {
    echo "Chyba: ".mysqli_error();
    die("Smůla!");
  }
  mysqli_query($spojeni, "SET NAMES 'utf8'");
?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">
 <head><!--  ščřžýŠČŘŽÝ -->
  <meta name="generator" content="PSPad editor, www.pspad.com" />
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  
  <title></title>
  <link rel="stylesheet" rel="nofollow" href="styl.css" type="text/css">
  
 </head>
 <body>
   <div id="all">
    <div id="hlava">
    <div id="login">
     <?php     
        if (isset($_POST['login'])) {
        $jmeno = $_POST['jmeno'];
        $heslo = $_POST['heslo'];
        $log = "user";    
        if ($jmeno == $log && $heslo == $log) {
                echo '<p><a rel="nofollow" href="/?stranka=2">Dokončit</a></p>';
            }      
        } else { 
            echo "<h1>Login</h1>"; 
            include ('login_form.inc.php');
        }
    ?>
    </div>
    </div>
    <div id="telo">
      <div id="nav">
         <ul>      
            <li><a rel="nofollow" href="/?stranka=1">Objednavky</a></li> 
      </div>
      <div id="obsah">      
          <table>
        <tr><td>auto</td><td><input type="checkbox" name="auto" value="1"></td><td>Cena: 100000</td></tr>
        <tr><td>mobil</td><td><input type="checkbox" name="mobil" value="2"></td><td>Cena: 10000</td></tr>
        <tr><td>tablet</td><td><input type="checkbox" name="tablet" value="3"><td>Cena: 5000</td></td></tr>
        <tr><td>pc</td><td><input type="checkbox" name="pc" value="4"></td><td>Cena: 50000</td></tr>     
          </table>        
        <?php
        if (isset($_GET['stranka'])) {
            if ($_GET['stranka'] == 1) {
                echo "Objednávky";
                include "vypis.inc.php";
            } elseif ($_GET['stranka'] == 2) {
                echo "Vypln";
                include "pridej_form.inc.php";                    
            } elseif ($_GET['stranka'] == 3) {
                echo "Souhrn";
                include "";                    
            }else {
              echo "Neexistuje";
            }
        }
      ?>
      </div>
    </div>
   </div>    
 </body>
</html>

Logování

<?php
    if (isset($_POST['login'])) {
        $jmeno = $_POST['jmeno'];
        $heslo = $_POST['heslo'];
        $log = "user";
       
        if ($jmeno == $log && $heslo == $log) {
                $_SESSION['prihlasen'] = 1;
                $_SESSION['jmeno'] = "user";
            }
        }
    } elseif (isset($_GET['akce']) && $_GET['akce'] == "odhlasit") {
        //session_unset();
        //session_destroy();
        unset($_SESSION['prihlasen']);
        unset($_SESSION['jmeno']);
    }
?>

Formulář logování

<form action="/" method="post">

         <table>
          <tr><td>Jméno:</td><td><input type="text" name="jmeno"></td></tr>
          <tr><td>Heslo:</td><td><input type="password" name="heslo"></td></tr>
          <tr><td></td><td><input type="submit" name="login" value="Přihlásit"></td></tr>
         </table>
</form>

Vložení

<?php  
    
     if(isset($_POST['odeslat'])){
        $jmeno = $_POST["jmeno"];
        $prijmeni = $_POST["prijmeni"];
        if (isset($_POST['auto'])){
        $insert = "INSERT INTO objednavky VALUES ('$jmeno', '$prijemni', 'auto', '100000');";
        $vysledek = mysqli_query($spojeni, $insert);
        }
        if (isset($_POST['mobil'])){
        $insert2 = "INSERT INTO objednavky VALUES ('$jmeno', '$prijemni', 'mobil', '10000');";
        $vysledek = mysqli_query($spojeni, $insert2);
        }
        if (isset($_POST['tablet'])){
        $insert3 = "INSERT INTO objednavky VALUES ('$jmeno', '$prijemni', '$tablet', '5000');";
        $vysledek = mysqli_query($spojeni, $insert3);
        }
        if (isset($_POST['pc'])){
        $insert4 = "INSERT INTO objednavky VALUES ('$jmeno', '$prijemni', '$pc', '50000');";
        $vysledek = mysqli_query($spojeni, $insert4);
        }      
    }
?> 
<form action="index.php/" method="post">
    <table>
        <tr><td>Jméno:</td><td><input type="text" name="jmeno"></td></tr>
        <tr><td>Přijmeni:</td><td><input type="text" name="prijmeni"></td></tr>
        <tr><td>Adresa:</td><td><textarea rows="5" cols="20"></textarea></td></tr>
        <tr><td></td><td><input type="submit" name="odeslat" value="Odeslat"></td></tr>
    </table>
</form>

Výpis

<?php
$vysledek = mysqli_query($spojeni, "SELECT * FROM objednavky");

  echo "<table>
        <th>Jmeno</th>
        <th>Prijmeni</th> 
        <th>zbozi</th> 
        <th>cena</th>
          
       ";
  while ($radek = mysqli_fetch_array($vysledek)) {
      echo "<tr>";
      echo '<td>'.$radek['jmeno'].'</td>';
      echo '<td>'.$radek['prijmeni'].'</td>';
      echo '<td>'.$radek['zbozi'].'</td>';
      echo '<td>'.$radek['cena'].'</td>';
      echo "</tr>";
  }
  echo "</table>";        
  ?>

Nahlásit jako SPAM
IP: 2a00:1028:8d1c:cafa:4422:...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 5 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý