gaabytzu Posted July 14, 2009 Report Posted July 14, 2009 Sa incep cu inceputul,de cateva zile lucrez la un site la care o sa am numai eu acces,cu login,ca sa pot avea acces la fisierele mele cand vreau,si de oriunde. In fine.Dar cand am ajuns la niste retusuri,m-am blocat.Adica vreau sa pun niste suneturi in background gen welcome,cand accesez index-ul,login-ng in cand m-am logat,si error cand am gresit logarea.Dar nu stiu cum sa fac,ca toate astea trebe setate pe un fisier .php. Am incercat sa pun ca bgsound,dar chiar daca ma loghez,accesez pagina sau gresesc logarea,imi canta acelasi lucru.Ma poate ajuta cineva?Va rog?Sper ca ati inteles ce am vrut sa spun. Quote
gaabytzu Posted July 14, 2009 Author Report Posted July 14, 2009 nu prea imi e usor sa inteleg,ca asta e prima mea lucrare in php,pana acu am lucrat numai cu html.Pot sa pun codul sursa aci sa imi spui cam pe unde pot modifica? Quote
gaabytzu Posted July 14, 2009 Author Report Posted July 14, 2009 ================================<?php// Cursuri gratuite Spaniola HTML CSS PHP MySQL Jocuri Anime/** * Urmatoarea functie sterge randurile din tabelul user_temp mai vechi de 10 min * verifica daca utilizatorul a incercat de mai multe ori autentificarea * daca a incercat deja de 3 ori fara nume-parola confirmate * solicita incercarea unei noi autentificari dupa 10 min */ function temp_user($nume) { global $conn; $data = time(); $data_expir = $data-601; $ip = $_SERVER['REMOTE_ADDR']; /* Sterge randurile din tabelul user_temp mai vechi de 10 min */ $sql = "DELETE FROM `user_temp` WHERE `data`<$data_expir"; mysql_query($sql,$conn); /* Adauga slashuri daca este necesar (pentru nume) */ if(!get_magic_quotes_gpc()) { $nume = addslashes($nume); } /* Verifica daca numle este in tabelul user_temp */ $sql1 = "SELECT `nume`, `incercari`, `data` FROM `user_temp` WHERE `nume`='$nume'"; $result = mysql_query($sql1,$conn); if(!$result || (mysql_numrows($result) < 1)) { $sql1 = "INSERT INTO `user_temp` (nume, ip, data) VALUES ('$nume', '$ip', '$data')"; mysql_query($sql1,$conn); return 'continua'; } else { /* Gaseste nr. incercari asociata numelui */ $tbarray = mysql_fetch_array($result); $incercari = $tbarray['incercari']; if ($incercari<50) { $incercari++; // incrementeaza nr. incercari cu 1 si actualizeaza data $sql1 = "UPDATE `user_temp` SET `incercari`='$incercari', `data`='$data' WHERE `nume`='$nume'"; $result = mysql_query($sql1); return 'continua'; } else if ($incercari>=3) { $timp = 600 - ($data - $tbarray['data']); return $timp; // Indica nr. incercari depasit si returneaza timpul pt. calculare asteptare } }}/** * Urmatoarea functie verifica daca numele exista in baza de date * daca da, verifica daca parola se potriveste cu cea din baza de date * daca numele sau parola nu sunt corecte, returneaza eroarea (1 sau 2). * pentru nume si parola confirmate returneaza 0. */function confirmUser($nume, $parola) { global $conn; /* Adauga slashuri daca este necesar (pentru query) */ if(!get_magic_quotes_gpc()) { $nume = addslashes($nume); $parola = addslashes($parola); } /* Verifica daca numle este in baza de date */ $q = "SELECT parola, aprobat from `utilizatori` WHERE `nume`='$nume'"; $result = mysql_query($q,$conn); if(!$result || (mysql_numrows($result) < 1)) { return 1; //Indica nume neconfirmat } else { /* Gaseste parola asociata numelui */ $dbarray = mysql_fetch_array($result); $dbarray['parola'] = stripslashes($dbarray['parola']); // Verifica daca utilizatorul este confirmat (aprobat 1) if ($dbarray['aprobat'] == 0) { return 3; // Inregistrarea nu a fost aprobata } /* Verifica daca parola scrisa este aceeasi cu cea gasita in baza de date */ else if($parola == $dbarray['parola']) { return 0; // nume si parola confirmate } else { return 2; // indica parola neconfirmata } }}/** * Verifica autentificarea prin sesiune - daca utilizatorul este deja autentificat * verifica daca utilizatorul a fost memorat in cookie * adaug o sesiune ca utilizatoru este logat * Verifica daca datele din sesiune sunt corecte cu cele din baza de date * returneaza TRUE daca utilizatorul este autentificat. */function checkLogin() { /* verifica daca utilizatorul este memorat in cookie */ if(isset($_COOKIE['cookname']) && isset($_COOKIE['cookpass'])) { $_SESSION['nume'] = $_COOKIE['cookname']; $_SESSION['parola'] = $_COOKIE['cookpass']; } /* verifica daca exista in sesiune numele si parola setate */ if(isset($_SESSION['nume']) && isset($_SESSION['parola'])) { /* Confirma daca numele si parola sunt valide */ if(confirmUser($_SESSION['nume'], $_SESSION['parola']) != 0) { /* daca variabilele sunt incorecte, sterge sesiunea, utilizatorul nu este logat */ unset($_SESSION['nume']); unset($_SESSION['parola']); return false; } return true; } /* Utilizatorul nu este logat */ else { return false; }}/** * Determina daca va fi sau nu afisat formularul de autentificare * sau arata ca utilizatorul este autentificat, bazat pe variabilele din sesiune */function displayLogin($mesaj) { if ($mesaj=="mp") { global $logged_in; if($logged_in) { echo "<h1>Logged In!</h1>"; echo "Bine ai venit <b>$_SESSION[nume]</b>, esti autentificat. <a href=\"logare/logout.php\">Iesire</a>"; } else { // Afiseaza formularul echo '<script src="logare/verific.js"></script> <!--/ Cursuri gratuite Spaniola HTML CSS PHP MySQL Jocuri Anime /--><form action="'. $_SERVER['PHP_SELF']. '" method="post" onsubmit="return regcheck(this)"><table align="center" border="0" cellspacing="0" cellpadding="1" width="270" style="border:1px solid #888888; padding:1px;"> <tr><th colspan="2" align="center"><font color="red">Autentificare</font></th></tr> <tr><td><label for="nume"><font color="white">Nume: </font></label><input type="text" name="nume" size="14" maxlength="30" id="nume" /></td> <td align="center"> <input type="submit" name="sublogin" font color="red" value="Autentifica" /></td></tr> <tr><td><label for="pass"><font color="white">Parola: </font></label><input type="password" name="pass" size="14" maxlength="30" id="pass" /></td> <td align="center"><input type="checkbox" name="remember" /><font size="2"><font color="blue">Tine-ma minte</font></td></tr></table></form>'; } } else { echo '<table align="center" bordercolor="red" border="1" cellspacing="0" cellpadding="2" width="270"><tr><td align="center">'. $mesaj. '</td></tr></table>'; }}/** * Verifica daca numele si parola au fost trimise prin formularul de logare * daca da, verifica lungimea numelui si parolei, * apoi datele in baza de date si creaza sesiunea */if(isset($_POST['sublogin']) && isset($_POST['nume']) && isset($_POST['pass'])) { // Retinerea adresei (preluata din form) pt. revenire la pagina anterioara $inapoi = '<br /><b><a href="#" onClick="history.back()">Reveniti</a></b> la pagina anterioara.'; // Elimina spatiile din marginile numelui si parolei $_POST['nume'] = trim($_POST['nume']); $_POST['pass'] = trim($_POST['pass']); /* verifica daca toate campurile au fost completate */ if(!$_POST['nume'] || !$_POST['pass']){ $eroare='Nu ati completat toate campurile'. $inapoi; displayLogin($eroare); } /* verifica lungimea numelui */ else if(strlen($_POST['nume']) < 3) { $eroare='Pentru Nume adaugati minim 3 caractere'. $inapoi; displayLogin($eroare); } else if(strlen($_POST['nume']) > 32) { $eroare='Pentru Nume daugati maxim 32 caractere'. $inapoi; displayLogin($eroare); } /* verifica lungimea parolei */ else if(strlen($_POST['pass']) < 7) { $eroare='Pentru Parola adaugati minim 7 caractere.'. $inapoi; displayLogin($eroare); } else if(strlen($_POST['pass']) > 18) { $eroare='Pentru Parola adaugati maxim 18 caractere.'. $inapoi; displayLogin($eroare); } else { // Verifica si adauga incercarea de logare in tabelul user_temp $continua = temp_user($_POST['nume']); if ($continua=='continua') { $md5pass = md5($_POST['pass']); // Cripteaza parola /* verifica daca numele este in baza de date si parola este corecta */ $result = confirmUser($_POST['nume'], $md5pass); /* Afiseaza mesajul in cazul in care nume sau parola sunt incorecte */ if($result == 1) { $eroare='Numele <b>'. stripslashes($_POST['nume']). '</b> nu este inregistrat.'. $inapoi. '<br />Daca ati uitat numele -> <a href="logare/recuper.php">Recuperare nume</a>'; displayLogin($eroare); } else if($result == 2) { $eroare='Parola incorecta.'. $inapoi. '<br/>Daca ati uitat parola -> <a href="logare/recuper.php">Recuperare parola</a>'; displayLogin($eroare); } else if($result == 3) { die('<center><br /><br /><font color="red"><h3>Inregistrarea pt. <u>'. stripslashes($_POST['nume']). '</u> este neconfirmata.</h3></font> Verificati contul de e-mail folosit la inregistrare (inclusiv in Spamm) pt. mesajul cu link-ul de confirmare.<br /><br /> Daca doriti sa solicitati un nou e-mail de confirmare, <a href="logare/recuper.php?confirm=1">Click Aici</a></center>'); displayLogin($eroare); } else { /* daca numele si parola sunt corecte, inregistreaza variabilele in sesiune */ $_SESSION['nume'] = $_POST['nume']; $_SESSION['parola'] = $md5pass; /** Aici utilizatorul alege sa fie retinute datele pt.urmatoarea vizita * seteaza doua cookie-uri, unul care pastreaza numele si al doilea pt. parola * acestea expira in 100 de zile */ if(isset($_POST['remember'])) { setcookie("cookname", $_SESSION['nume'], time()+60*60*24*100, "/"); setcookie("cookpass", $_SESSION['parola'], time()+60*60*24*100, "/"); } /* Auto redirect pentru a evita retrimiterea datelor la refresh */ echo '<meta http-equiv="Refresh" content="0;url='.$_SERVER['PHP_SELF'].'">'; return; } } else { // Afiseaza mesajul cu timpul ramas pana la o noua incercare de autentificare $continua = floor($continua/60). ' minute, '. ($continua%60). ' secunde'; $eroare = 'Ati depasit nr. incercari permise pt. autentificare. Puteti reincerca dupa <br /><b>'. $continua. '</b>'. $inapoi. '<br /><font color="blue">Daca ati uitat parola -> <a href="logare/recuper.php">Recuperare parola</a></font>'; displayLogin($eroare); } }}/* Seteaza valuarea variabilei logged_in, care poate fi folosita in cod * In functie de existenta ei desemneaza daca utilizatorul este atentificat */$logged_in = checkLogin();?>====================================Asta e codul din login.phpPe aci pe undeva trebe modificat. Quote
gaabytzu Posted July 14, 2009 Author Report Posted July 14, 2009 (edited) Ok.O sa ma pun sa fac cele 4 fisiere swf,si o sa incerc.revin imediat.Mersi mult de ideeedit:Am modificat asa si mi-a disparut tot.Ce am gresit?==================== /* Afiseaza mesajul in cazul in care nume sau parola sunt incorecte */ if($result == 1) {echo <'embed src="http://mobilwap.wen.ru/abort.wav" hidden="true" align="baseline" border="0" width="0" height="0" autostart="true" autoplay="true"'>;==================== Edited July 14, 2009 by gaabytzu Quote
gaabytzu Posted July 15, 2009 Author Report Posted July 15, 2009 frate,am gasit.Era:====================echo '<embed src="http://mobilwap.wen.ru/abort.wav" hidden="true" align="baseline" border="0"width="0" height="0" autostart="true" autoplay="true">';====================Mersi mult.Nu m-as fi descurcat fara tine. Bafta! Quote