Autor | Zpráva | ||
---|---|---|---|
Hapipo Profil |
#1 · Zasláno: 17. 11. 2016, 14:51:33
Ahoj,
našel jsem registraci a přihlašování uživatelů na web a součástí toho je, když se přihlásím, tak můžu zasílat zprávy. Jenže když dám odeslat zprávu, tak mi to napíše že se neodeslala. Zkusit to můžete zde - sumperk.mska.cz/index.php je tam na boku přihlášení stačí se zaregistrovat (potom vás smažu), ale potom až se přihlásíte, sjedete úplně dolu tam je odkaz na seznam uživatelů a když na nějakého kliknete, napíšete zprávu a dáte odeslat, tak to napíše že to nejde......schválně si to zkuste, prosím. tady je php soubor na jakém to bezi <?php // 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! session_start(); header('Content-type: text/html;charset=UTF-8'); // Vložíme soubor s připojením k databázi. ( musí se nacházet ve stejné složce ) require_once 'db.php'; if(!empty($_SESSION['login']) AND !empty($_SESSION['heslo'])) { // Dál ověřime, zda jsou tyto údaje platné $login = $_SESSION['login']; $heslo = $_SESSION['heslo']; $over = mysql_query("SELECT `id` FROM `users` WHERE `login`='".$login."' AND `pass`='".$heslo."'"); // Pokud najdeme identifikator s tímto loginem a heslem uložime ho do pole $res_over if(mysql_num_rows($over)!=0) { $res_over = mysql_fetch_assoc($over); // Uložíme identifikator příjemce do proměnné $id if(isset($_POST['id']) AND $_POST['id']!='') { $id = stripslashes(htmlspecialchars(trim($_POST['id']))); if(isset($_POST['zprava'])) { $zprava = stripcslashes(htmlspecialchars(trim($_POST['zprava']))); if($zprava == '') { unset($zprava); } } if(isset($_POST['prijemce'])) { $prijemce = stripcslashes(htmlspecialchars(trim($_POST['prijemce']))); if($prijemce == '') { unset($prijemce); } } $odesilatel = $_SESSION['login']; if(empty($zprava) OR empty($prijemce) OR empty($odesilatel)) { exit("Vyplňte všechna pole"); } $query = mysql_query("INSERT INTO `message`(`odesilatel`,`prijemce`,`date`,`zprava`) VALUES('".$odesilatel."','".$prijemce."',NOW(),'".$zprava."')"); if(!$query) { echo "<script>alert('Zpráva se neodeslala.')</script>"; header("Refresh: 0; url=uzivatel.php?id=".$_SESSION['id'].""); } else { echo "<script>alert('Zpráva se odeslala vpořádku.')</script>"; header("Refresh: 0; url=uzivatel.php?id=".$_SESSION['id'].""); } } else { exit("Není jasné kdo je příjemce."); } } else { // Jinak zobrazíme chybu exit("Vstup na tuto stránku je povolen pouze přihlášeným uživatelům."); } } else { // Pokud proměnné neexistují zobrazíme chybu exit("Vstup na tuto stránku je povolen pouze přihlášeným uživatelům."); } ?> |
||
Hando Profil |
#2 · Zasláno: 17. 11. 2016, 15:58:11
Ahoj.
Proč používáš zastaralé mysql_*? Ani s tím nezačínej, není důvod nepoužívat třeba mysqli_* či PDO. Vypiš si obsah proměnné $query a zkus ho vložit do databáze přímo v phpmyadminu a budeš blíže odhalení, v jaké části scriptu je chyba.
<OT> Mimochodem, nechci ti brát iluze, ale u klubového "systému" bude taková věc celkem zbytečná, protože v dnešní době, kdy má každý člověk e-mail a značná část lidí i FB nebo G+, tak se jim nebude chtít chodit do dalšího systému, přihlašovat se a kontrolovat, jestli jim někdo neposlal zprávu, kterou by jim mohl poslat jinými způsoby. </OT> |
||
Časová prodleva: 8 let
|
0