Felhasználói adat módosításnál nem megy végbe a lekérdezés!
Sziasztok! Kezdő PHP programozóként sikerült egy login rendszert elkészítenem regisztrációval bejelentkezéssel és sütikkel. De a felhasználó adatainak módosítása nem akar össze jönni.
Az volt az ötletem hogy lejön az az űrlap mint a regisztrációnál kitöltve a már bevitt adatokkal és ezt lehet majd átírni. Így átmásoltam az a <form> utasítást a regisztrációból. Ezután a value értékét megváltoztattam $e_mezöneve paraméterre.
pl így:
ez volt a regisztrációnál:ez lett a beállításoknál:De hogy tisztán lássatok itt a teljes és hibás kód!Remélem tudtok segíteni. A MySQL kapcsolatból biztonsági okokból vettem ki a valós paramétereket.
Előre is Köszönöm a segítséget.
■ Az volt az ötletem hogy lejön az az űrlap mint a regisztrációnál kitöltve a már bevitt adatokkal és ezt lehet majd átírni. Így átmásoltam az a <form> utasítást a regisztrációból. Ezután a value értékét megváltoztattam $e_mezöneve paraméterre.
pl így:
ez volt a regisztrációnál:
echo'<tr><td>Felhasználó név:</td><td><input type=text name=name value=Felhasználóneved></td></tr>';
echo'<tr><td>Felhasználó név:</td><td><input type=text name=name value='; print($e_name);
echo'></td></tr>';
<?php
//bejelentkezési állapot ellenőrzése
if(isset($_COOKIE['login_tailor993_jog']))
{
//Felhasználó jogkörének ellenőrzése
if($_COOKIE[login_tailor993_jog]>0)
{
//beléptető sütik megújítása
$name=$_COOKIE['login_tailor993_name'];
$jog=$_COOKIE['login_tailor993_jog'];
setcookie('login_tailor993_jog', '0', time()-10*365*24*60*60);
setcookie('login_tailor993_name', '0', time()-10*365*24*60*60);
setcookie('login_tailor993_jog', $jog, time()+2*60*60);
setcookie('login_tailor993_name', $name, time()+2*60*60);
//felhasználó felület
echo'<body bgcolor=#FFFFCC><h1>Beállítások</h1><a target=_self href=./main.php>Vissza a főmenübe!</a>';
//MySQL kapcsolódás eleje
$kapcsolat = mysql_connect("Host", "Felhasználó név", "Jelszó");
if (!$kapcsolat) die("Nem sikerült kapcsolódni az adatbázishoz!");
mysql_select_db("tailor993", $kapcsolat) or die("Nem sikerült kiválasztani az adatbázist!");
//MySQL kapcsolódás vége
//MySQL művelet eleje
$sql_jog="select jog from login where name='$name'" ;
$e_jog = mysql_query($sql_jog, $kapcsolat) or die(print("Nem sikerült a művelet végrehajtása (2)! A hiba oka: ".mysql_error()));
$sql_date="select date from login where name='$name'" ;
$e_date = mysql_query($sql_date, $kapcsolat) or die(print("Nem sikerült a művelet végrehajtása (3)! A hiba oka: ".mysql_error()));
$sql_id="select id from login where name='$name'" ;
$e_id = mysql_query($sql_id, $kapcsolat) or die(print("Nem sikerült a művelet végrehajtása (4)! A hiba oka: ".mysql_error()));
$sql_vezetek = "select vezer from login where name=$name" ;
$e_vezetek = mysql_query($sql_vezetek, $kapcsolat) or die(print("Nem sikerült a művelet végrehajtása (5)! A hiba oka: ".mysql_error()));
$sql_kereszt="select kereszt from login where name='$name'" ;
$e_kereszt = mysql_query($sql_kereszt, $kapcsolat) or die(print("Nem sikerült a művelet végrehajtása (6)! A hiba oka: ".mysql_error()));
$sql_email="select email from login where name='$name'" ;
$e_email = mysql_query($sql_email, $kapcsolat) or die(print("Nem sikerült a művelet végrehajtása (7)! A hiba oka: ".mysql_error()));
$sql_szulet="select szulet from login where name='$name'" ;
$e_szulet = mysql_query($sql_szulet, $kapcsolat) or die(print("Nem sikerült a művelet végrehajtása (8)! A hiba oka: ".mysql_error()));
$sql_nevnap="select nevnap from login where name='$name'" ;
$e_nevnap = mysql_query($sql_nevnap, $kapcsolat) or die(print("Nem sikerült a művelet végrehajtása (9)! A hiba oka: ".mysql_error()));
$sql_horoszkop="select horoszkop from login where name='$name'" ;
$e_horoszkop = mysql_query($sql_horoszkop, $kapcsolat) or die(print("Nem sikerült a művelet végrehajtása (10)! A hiba oka: ".mysql_error()));
$sql_lakik="select lakik from login where name='$name'" ;
$e_lakik = mysql_query($sql_lakik, $kapcsolat) or die(print("Nem sikerült a művelet végrehajtása (11)! A hiba oka: ".mysql_error()));
$sql_tel="select tel from login where name='$name'" ;
$e_tel = mysql_query($sql_tel, $kapcsolat) or die(print("Nem sikerült a művelet végrehajtása (12)! A hiba oka: ".mysql_error()));
$sql_fogl="select fogl from login where name='$name'" ;
$e_fogl = mysql_query($sql_fogl, $kapcsolat) or die(print("Nem sikerült a művelet végrehajtása (13)! A hiba oka: ".mysql_error()));
$sql_text="select text from login where name='$name'" ;
$e_text = mysql_query($sql_text, $kapcsolat) or die(print("Nem sikerült a művelet végrehajtása (14)! A hiba oka: ".mysql_error()));
$sql_hogy="select hogy from login where name='$name'" ;
$e_hogy = mysql_query($sql_hogy, $kapcsolat) or die(print("Nem sikerült a művelet végrehajtása (15)! A hiba oka: ".mysql_error()));
$sql_fogl="select fogl from login where name='$name'" ;
$e_fogl = mysql_query($sql_fogl, $kapcsolat) or die(print("Nem sikerült a művelet végrehajtása (16)! A hiba oka: ".mysql_error()));
$sql_nem="select nem from login where name='$name'" ;
$e_nem = mysql_query($sql_nem, $kapcsolat) or die(print("Nem sikerült a művelet végrehajtása (17)! A hiba oka: ".mysql_error()));
$sql_pass="select password from login where name='$name'" ;
$e_pass = mysql_query($sql_pass, $kapcsolat) or die(print("Nem sikerült a művelet végrehajtása (18)! A hiba oka: ".mysql_error()));
print($e_vezetek);
//MySQL művelet vége
$email=$e_email;
echo'<form method=POST action=./options_fix.php>
Az azonosító számod: ';
switch($e_jog){
case 0:
echo'0';
break;
case 1:
echo'1';
break;
case 2:
echo'2';
break;
case 3:
echo'3';
break;
case 4:
echo'4';
break;
case 5:
echo'5';
break;
case 6:
echo'6';
break;
case 7:
echo'7';
break;
case 8:
echo'8';
break;
case 9:
echo'9';
break;
case 10:
echo'10';
break;
case 11:
echo'11';
break;
case 12:
echo'12';
break;
case 13:
echo'13';
break;
case 14:
echo'14';
break;
case 15:
echo'15';
break;
case 16:
echo'16';
break;
case 17:
echo'17';
break;
case 18:
echo'18';
break;
case 19:
echo'19';
break;
case 20:
echo'20';
break;
case 21:
echo'21';
break;
case 22:
echo'22';
break;
case 23:
echo'23';
break;
case 24:
echo'24';
break;
case 25:
echo'25';
break;
case 26:
echo'26';
break;
case 27:
echo'27';
break;
case 28:
echo'28';
break;
case 29:
echo'29';
break;
case 30:
echo'30';
break;
case 31:
echo'31';
break;
}
echo' <br>
A jogosultsági köröd: ';
switch($e_jog){
case 0:
echo'0';
break;
case 1:
echo'1';
break;
case 2:
echo'2';
break;
case 3:
echo'3';
break;
case 4:
echo'4';
break;
case 5:
echo'5';
break;}
$date=$e_date;
$sor=mysql_fetch_array($e_vezetek, MYSQL_ASSOC);
FOREACH($sor as $i=>$ertek)
{print"$ertek";}
echo' <br>
A regisztrációd ideje: '; print($date1); echo' <br>
A így találtál ide: '; print($e_hogy); echo' <br>
<table>
<tr><td>Felhasználónév:</td><td><input type=text name=name value=';print($name);echo'></td></tr>
<tr><td>vezetéknév:</td><td><input type=text name=vezetek value=';print($e_vezetek);echo'></td></tr>
<tr><td>Keresztnév:</td><td><input type=text name=kereszt value=';print($e_kereszt);echo'></td></tr>
<tr><td>E-mail:</td><td><input type=text name=email value=';print($email);echo'></td></tr>
<tr><td>Születésnap:</td><td><input type=text name=szulet value=';print($e_szulet);echo'></td></tr>
<tr><td>Névnap:</td><td><input type=text name=nevnap value=';print($e_nevnap);echo'></td></tr>
<tr><td>Horoszkóp:</td><td><input type=text name=horoszkop value=';print($e_horoszkop);echo'></td></tr>
<tr><td>Lakhely:</td><td><input type=text name=lakik value=';print($e_lakik);echo'></td></tr>
<tr><td>Telefonszám:</td><td><input type=text name=tel value=';print($e_tel);echo'></td></tr>
<tr><td>Foglalkozás</td><td><input type=text name=fogl value=';print($e_fogl);echo'></td></tr>
<tr><td>Nemed:</td><td>';
if($e_nem==='f'){
echo'<label><input type=radio value=n name=nem>Nő<br><input type=radio check=check value=f name=nem>Férfi</label>';}
elseif($_nem==='n'){
echo'<label><input type=radio value=n check=check name=nem>Nő<br><input type=radio value=f name=nem>Férfi</label>';}
else{
echo'<label><input type=radio value=n name=nem>Nő<br><input type=radio value=f name=nem>Férfi</label>';}
Echo'
</td></tr>
<tr><td>Megjegyzés:</td><td><textarea name=text value=';print($e_text);echo'></textarea></td></tr>
<tr><td>Régi jelszó:</td><td><input type=password name=oldpass ></td></tr>
<tr><td>Új jelszó</td><td><input type=password name=pass1 ></td></tr>
<tr><td>Új jelszó ismét:</td><td><input type=password name=pass2 ></td></tr>
</table>
<input type=submit value=Módosít name=send>
</form>
';
}
//sikertelen beléptetés
else
echo'<body bgcolor=#FFFFCC>Nincs megfelelő jogköröd az oldal megtekintéséhez! <a target=_self href=./login.php>Vissza</a>';
}
else
echo'<body bgcolor=#FFFFCC> Nem vagy bejelentkezve! <a target=_self href=./login.php> Jelentkezzbe</a> vagy ha nem vagy regisztrálva <a target=_self href=./reg.php>regisztrálj</a>!';
?>
Előre is Köszönöm a segítséget.
Utóirat
UPDATE
UPDATE
SQL utasítást sem így nem értem mit takar számodra a módosítás. Ha teszel egy lekérdezést, akkor az sorokat fog visszaadni, amiket külön még ki kell szedned mysql_fetch_* műveletekkel.Re: UPDATE
Nincs itt hiba...
Részletesebben:
Ahhoz hogy a lekérdezésed eredményét megjelenítsd egy másik függvényre van szükséged: mysql_fetch_array, mysql_fetch_assoc, mysql_result. Bármelyiket választhatod.
Érdemes lenne az egyes elemek lekérdezéseit összevonni. Én vizsgálnám azt is, hogy a megadott $name szerepel-e egyáltalán az adatbázisban és levédeném a sütiből származó adatokat. A miértről további olvasnivaló itt.
OFF - Switch lecserélése