| Autor | Zpráva | ||
|---|---|---|---|
| McBOY Profil |
#1 · Zasláno: 3. 5. 2014, 11:20:50
Ahoj potřebuji nějaký tag na to aby po přihlášení za sekund nebo hned to přehodilo na cc.php nevím jak to udělat aby nemusel klikat!
Díky McBOY. |
||
| Plaváček Profil |
#2 · Zasláno: 3. 5. 2014, 11:28:46
|
||
| lionel messi Profil |
<?php
header("Location: http://www.cc.php") //prehodí hneď
?><?php
sleep(5); //prehodí po 5 sekundách
header("Location: http://www.cc.php");
?>Samozrejme, PHP nie je jediná cesta, v príspevku od Plaváčka sú dobre popísané všetky možnosti, ale keďže je dotaz v kategórii PHP, napísal som podľa toho aj riešenie. Doplnenie: Ešte si treba dať pozor na to, že funkcia header musí byť volaná pred tým, než sa vypíše akýkoľvek výstup: viď Chyba „Headers already sent …“
|
||
| McBOY Profil |
#4 · Zasláno: 3. 5. 2014, 11:58:12
Děkuji ale mám potíže protože to nefunguje
skript: <form method='post'>
<input type="text" name='nick' placeholder="Nick"><br />
<input type="password" name='heslo' placeholder="Heslo"><br />
<button type="submit">Přihlásit!</button><br />
</form>
<?php
///////////////
// NASTAVENI //
///////////////
$db_host = "93.91.250.137"; // Zde zadej hostitele
$db_uzivatel = "148***_mysql_db"; // Zde uživatelské jméno
$db_heslo = "******"; // Zde heslo
$db_databaze = "148***_mysql_db"; // Zde jméno databáze
$db_tabulka = "authme_administrace"; // Zde zadej jméno AuthMe tabulky
$hash = "SHA256"; // Zde zadej typ šifrování
///////////////
// SKRIPT //
///////////////
if(isset($_SESSION['uzivatel'])) {
echo "<a href='?odhlasit=true'><button>Odhlásit</button>";
if(isset($_GET['odhlasit']) && $_GET['odhlasit']==true) session_destroy();
} else {
$mysqli = new mysqli($db_host, $db_uzivatel, $db_heslo, $db_databaze);
if ($mysqli->connect_errno)
{
echo "Failed to connect to MySQL: " . $mysqli->connect_error;
exit();
}
if (isset($_POST['nick']) && isset($_POST['heslo']))
{
if (!empty($_POST['nick']) && !empty($_POST['heslo']))
{
//Ochrana a tvorba variablů
$nick = preg_replace('/\s+/', '', $_POST['nick']);
$heslo = preg_replace('/\s+/', '', $_POST['heslo']);
$result = $mysqli->query("SELECT password FROM ".$db_tabulka." WHERE username = '".$nick."'");
$row = $result->fetch_assoc();
switch ($hash) {
case 'MD5':
$heslicko = hash('md5', $heslo) === $row['password']; break;
case 'SHA1':
$heslicko = hash('sha1', $heslo) === $row['password']; break;
case 'SHA256':
$userPasswordField = explode('$', $row['password']);
$heslo = hash('sha256', $heslo);
$heslo .= $userPasswordField[2];
$heslo = '$SHA$' . $userPasswordField[2] . '$' . hash('sha256', $heslo);
$heslicko = $heslo === $row['password'];
break;
}
$ip = $_SERVER['REMOTE_ADDR'];
//Ověření nicku
$query_nick = mysqli_query($mysqli, "SELECT username FROM ".$db_tabulka." WHERE username = '".$nick."'");
if ($data_nick = mysqli_fetch_array($query_nick))
{
//Ověření hesla
if ($heslicko)
{
$_SESSION['uzivatel'] = $nick;
//Úspěšné přihlášení
echo "<?php
header("Location: admin.php") //prehodí hneď
?>";
}
else
{
//Neúspěšné přihlášení
echo "<div style='color: red;'><strong>Toto heslo není správné.</strong></div>";
}
}
else
{
//Neexistující přezdívka
echo "<div style='color: red;'><strong>Tato přezdívka nebyla nalezena.</strong></div>";
}
}
}
}
//Obnova hesla
if(isset($_GET['action']))
{
if($_GET['action'] == "newpassword")
{
echo "<form method='post'><input type='text' name='udaj' placeholder='Přezdívka'><button type='submit'>Zaslat heslo!</button></form>";
if(isset($_POST['udaj']))
{
if(!empty($_POST['udaj']))
{
function random_pwd($length)
{
$rangeMin = pow(36, $length-1);
$rangeMax = pow(36, $length)-1;
$base10Rand = mt_rand($rangeMin, $rangeMax);
$newRand = base_convert($base10Rand, 10, 36);
return $newRand;
}
$new_query_email = mysqli_query($mysqli, "SELECT email FROM ".$db_tabulka." WHERE username = '".$_POST['udaj']."'");
$new_query_data = mysqli_fetch_array($new_query_email);
$random_pw = random_pwd(10);
$random_pw_md = md5($random_pw);
$message = "Tvoje nove heslo pro jmeno ".$_POST['udaj']." je " . $random_pw;
ini_set("SMTP","ssl://smtp.gmail.com");
ini_set("smtp_port","587");
mail($new_query_data['email'], 'New Password', $message);
$query = mysqli_query($mysqli, "UPDATE ".$db_tabulka." SET password = '".$random_pw_md."' WHERE username = '".$_POST['udaj']."'");
echo "Tvé heslo bylo změněno! Zkontroluj svoji e-mailovou schránku.";
}
}
}
}
?>Jak je to $_SESSION['uzivatel'] = $nick;
//Úspěšné přihlášení
echo "<?php
header("Location: admin.php") //prehodí hneď
?>"; |
||
| lionel messi Profil |
Stačí to takto:
//Úspěšné přihlášení
header("Location: admin.php"); |
||
| McBOY Profil |
Děkuji moc funguje :D
|
||
| lionel messi Profil |
Pôvodný obsah príspevku odstránený, keďže McBOY chybu našiel (pôvodný obsah je tým pádom bezpredmetný). :-) prosím o zm>mmazanie, nech tu nevisí zbytočný bordel. Celkom by som uvítal možnosť odstránenia vlastného príspevku, občas by sa mi to hodilo.
Moderátor jenikkozak: Není důvod příspěvek mazat.
|
||
|
Časová prodleva: 11 let
|
|||
0