|
|
PHP edit profile
|
25.7.2012 23:06
Kenny
|
<?php
$username = $_COOKIE["user"];
$sql = "SELECT * FROM users WHERE username='$username'";
$result = mysql_query($sql,$con);
$echousername = mysql_result($result,0,username);
$password = $_COOKIE["password"];
$mail = mysql_result($result,0,mail);
$permission = mysql_result($result,0,permissions);
$lastlogged = mysql_result($result,0,lastlogged);
$date = mysql_result($result,0,date);
echo "<div class='profile'>";
echo "<form action='$path' method='post' id='profile_edit'>";
echo "<table class='profile'>";
echo "<tr><td>Username:</td><td>$echousername</td></tr>";
echo "<tr><td>Heslo:</td><td><input type='password' name='password2' value='$password'></td><td><input type='password' name='password3' value='$password'></td></tr>";
echo "<tr><td>Mail:</td><td><input type='text' name='mail2' value='$mail'></td></tr>";
echo "<tr><td>Pristupove prava:</td><td>$permission</td></tr>";
echo "<tr><td>Naposledy prihlasen:</td><td>$lastlogged</td></tr>";
echo "<tr><td>Datum registrace:</td><td>$date</td></tr>";
echo "<tr><td></td><td><input type='submit' name='save' value='Save'></td></tr>";
echo "</table>";
echo "</form>";
echo "</div>";
if(isset($_POST['save']))
{
$mail2 = $_REQUEST['mail2'] ;
$password2 = $_REQUEST['password2'] ;
$password3 = $_REQUEST['password3'] ;
if($password2 == "" or $password3 == ""){echo "Hesla musi byt vyplnena.";}
else{
if($password2 == $password3)
{
if($mail2 != "")
{
$zapis= mysql_query("UPDATE users SET password='$password3' AND mail='$mail2' WHERE username='$echousername' AND password='$password'") or die(mysql_error());
setCookie("user","",time()-3600);
setCookie("password","",time()-3600);
echo "Udaje byli zmeneny.";
echo "<br />";
echo "Musite se znovu prihlasit.";
header("url='./edit.php'");
}
else echo "Musite vyplnit email.";
}
else echo "Hesla musi souhlasit.";
};
echo $mail2;
echo $password2;
echo $password3;
};
/*
Potřebuji od vás píchnout :)
Mám tenhle kód který má upravovat informace v DB ovšem
když pozměním údaje napíše mi to 'Udaje byli zmeneny.'
Ale údaje zůstanou stejný jak při reloadu stranky jako predvyplněný tak i v DB,
ale ty echa na konci mi vypíší údaje které jsem zadal.
Vůbec to nechápu a prosím vás o pomoc. Všem děkuji.
PS: k DB připojený jsem
*/ |
|
|
Re: PHP edit profile
|
27.7.2012 13:27
Jan Vostrý
|
změň
SET password='$password3' AND mail='$mail2'
na
SET password='$password3', mail='$mail2' |
|
|
Re: PHP edit profile
|
27.7.2012 13:32
Jan Vostrý
|
BTW, měl by jsi se to PHP nejdříve naučit, než v něm začneš psát.
$_REQUEST se nepoužívá!
Vkládání neescapovaných vstupů do html?
Vkládání neescapovaných vstupů do query?
Žádná kontrola, jestli byl proveden query?
:/ |
|
|
Re: PHP edit profile
|
27.7.2012 18:36
Kenny
|
Jsem začátečník. Dík za rady. |
|
|
Re: PHP edit profile
|
20.12.2012 21:52
Martin Chudoba
|
No přemýšlím co ještě napsat, když už to p. Vostrý tak hezky vyjádřil. Snad jen ... asi začátečník ne jenom v PHP. A taky by mě zajímalo, kde se todle učí. Akorát z toho máte zamotanou hlavu, děláte to špatně a nic se nenaučíte. |
|
|
Re: PHP edit profile
|
19.12.2012 10:49
Pavel
|
Taky jsem začátečník, jenže trochu pokročilejší. To podstatné ti nikdo neřekl: HPH není "normální" programovací jazyk, nemůžeš vytvořit dotaz na uživatele a hned za ním zpracovávat odpověď! Odpověď dostaneš při dalším běhu scriptu v příslušnéím poli SESSION. Takže program musí po úvodních volbách mít test na to, zda jde o odpověď:
if (odpověď) zpracuj odpověď;
else vygeneruj dotazovací formulář;
A taky pozor na GET a POST, jeden vrací data ve volání scriptu, takže je vidíš ve volacím řádku v prohlížeči - to se např. na heslo moc nehodí. Pavel |
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|
©Pavel Kysilka - 2003-2024 |
maillinuxsoft.cz | Design:
www.megadesign.cz
|