Autor Zpráva
lelek
Profil *
dobry den mam problem a vazne nevim co mam delat mohl by mi prosim rict co je spatne?
porad mi to pise: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in F:\VertrigoServ\www\index.php on line 41

login.php

<?php
session_start();
//Celý postup funguje na sessions. Právě v session se ukládají data uživatele, zatímco se nacházi na stránkach. Je důležite spustit sessions na začátku stránky!  
 
if(isset($_GET['action']) AND $_GET['action'] == 'odhlasit_se'){

    $_SESSION['name']='';
    $_SESSION['id']='';
    unset($_SESSION['name']);
    unset($_SESSION['id']);
    
}
?>
<!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="en" lang="en">

<head>
    <title>Přihlašení uživatele</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />

<style>

.back{
    font-size:10pt;
    margin-top:20px;
}

</style>
    
</head>

<body>
<?php
//ověřujeme zda proměnné jméno a id jsou prázde nebo ne
if(!empty($_SESSION['name']) AND !empty($_SESSION['id']))
{
//V případě, že nejsou tak zobrazime jméno uživatele a odkaz, který je schovaný, jesli uživatel není přihlášený
 
 echo "<h1>Ahoj ".$_SESSION['name']."</h1>
 <p>Tyto <a href="http://www.complux.eu/cz/">stránky</a> můžou navštívit jen registrované uživatele</p>";    
} else {
//V případě, že tyto proměnné jsou prázdne, zobrazime přihlašovací formulář a odkaz s prázdným atributem href    
 
 echo "
 <h1>Přihlaste se</h1>
<form action="overeni.php" method="POST">
<!--  overeni.php je skript pro ověření zadaných dat, tzn. po klíknutí na tlačítko Ok se data pošlou do tohoto souboru metodou POST  -->

    <div><label for="login">login:</label></div>
    <div><input type="text" name="login"></div>
<!--  Do textového pole se jménem login ( name="login" ) uživatel zadá svůj login  -->

    <div><label for="heslo">Heslo:</label></div>
    <div><input type="password" name="heslo"></div>
<!--  Do pole se jménem heslo ( name="heslo" ) uživatel zadá svoje heslo  -->

    <div><input type="submit" name="go" value="Ok"></div>
<!--  tlačítko ( type="submit" ) odesíla data do souboru overeni.php  -->

</form>
 ";

echo "<h1>Ahoj ".$_SESSION['name']."</h1> 
 <p>Tyto <a href="http://www.complux.eu/cz/">stránky</a> můžou navštívit jen registrované uživatele</p>
 <p><a href="".$_SERVER['PHP_SELF']."?action=odhlasit_se">Odhlásit se</a></p>"; 
 
 echo "Ahoj návtěvníku. Tyto <a href="#">stránky</a> můžou navštívit jen registrované uživatele";        
 echo '<div class="back"><a href="registration.php">registrace</a></div>'; 
}
?>
</body>
</html>
Micruss
Profil
Máš špatně uvozovky "

echo "<h1>Ahoj ".$_SESSION['name']."</h1>
 <p>Tyto <a href='http://www.complux.eu/cz/'>stránky</a> můžou navštívit jen registrované uživatele</p>"; 
lelek
Profil *
jo a popripade mohl by mi nekdo prosim poslad odkaz na nejaky dobry navod na registraci a prihlaseni? byl bych rad kdyby to aji sifrovalo heslo a nabizelo i dalsi zabezpeceni dekuji.


ted to zase pise Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in F:\VertrigoServ\www\index.php on line 47
Micruss
Profil
místo:

<form action="overeni.php" method="POST"> dej buď apostrofy ' a nebo zpětný lomítka před ty "
lelek
Profil *
mohl by jste to prosim upravit nevim jak to myslite
Keeehi
Profil
Uvozovky a apostrofy v PHP určují, kde začíná a končí nějaký textový řetězec. Ten začíná prvním výskytem a končí hned následujícím. Problém ale nastane, pokud chceme uvozovku/apostrof vypsat a nenechat ji použít jako řídící znak. Pokud chceme PHP říct, že toto není uvozovka, která ukončuje řetězec, ale jen prostý znak, který se má vypsat, uděláme to tak, že před ni napíšeme zpětné lomítko.


// úkolem je vypsat větu Uvozovka (") může dělat problémy.

echo "Uvozovka (") může dělat problémy."; // PHP neví, že tu uvozovku uprostřed má jen vypsat.

//řešení 1
//zpětné lomítko říká, že znak následující hned za ním se má brát jako obyčejný text
echo "Uvozovka (\") může dělat problémy."; 

//řešení 2
//jelikož text začíná apostrofem, nevadí že je uvozovka uprostřed. PHP totiž čeká zase na apostrof.
echo 'Uvozovka (") může dělat problémy.'; 
lelek
Profil *
mockrat vam dekuji
mate tu skvelu komunitu
lionel messi
Profil
lelek:
jo a popripade mohl by mi nekdo prosim poslad odkaz na nejaky dobry navod na registraci a prihlaseni? byl bych rad kdyby to aji sifrovalo heslo a nabizelo i dalsi zabezpeceni dekuji.
Môžeš pozrieť na Nejčastější potíže s PHP (FAQ) » Registrace uživatelů.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: