MYSQL adatbázis módosítás php-val
Sziasztok!
Az alábbi probléma megoldásában szeretném kérni a segítségeteket:
Hogy lehet azt megoldani, hogy például az e-mail cím megadása után az űrlapra betöltöm a MYSQL adatbázisban található adatokat módosításra?
HTML űrlap:
<html>
<head>
<title>Űrlap</title>
<body>
<form name="rendel" action="feldolgoz.php" method="POST">
<p>
<label for="nev">Név:</label>
<input type="text" name="nev">
</p>
<p>
<label for="tel">Telefonszám:</label>
<input type="text" name="tel">
</p>
<p><label for="cim">Cím</label>
<input type="text" name="cim">
</p>
<p>
<label for="email">E-mail cím:</label>
<input type="text" name="email">
</p>
<p>
<label for="rendeles">Rendelés:</label>
<select name="rendeles">
<option value="">Kérjük, válasszon!</option>
<option value="Sajtos pizza">Sajtos pizza</option>
<option value="Bolgonai pizza">Bolognai pizza</option>
</select>
</p>
................................
<button type="submit">Küldés</button>
<p>Módosítás</p>
<p>
<input type="text" name="email">E-mail cím:
</p>
/*Amikor itt beírják az e-mail címet, ha létezik az adatbázisban, akkor az űrlapra betöltené a MYSQL adatbázisból az adatokat.*/
<p>
Megadott adatok módosítása
<buton type="submit" value="Módosítás">
/*Erre a gombra kattintva módosítaná az adatbázisban található adatokat*/
</p>
PHP feldolgozás:
<?php
$kapcsolat=mysql_connect("localhost","username","P assword");
mysql_select_db("db",$kapcsolat);
mysql_set_charset("utf8",$kapcsolat);
$sqlutasitas="INSERT INTO table (nev, tel, cim, email, rendeles) VALUES ('$_POST[nev]','$_POST[tel]','$_POST[cim]','$_POST[email]','$_POST[rendeles]')";
mysql_query($sqlutasitas);
mysql_close($kapcsolat);
print "<p align="Center">Köszönjük rendelését!</p>";
?>
Előre is köszönöm a segítséget!
Ha lehet, kérlek a kódot egészítsétek ki.
re: MYSQL adatbázis módosítás php-val
Hát ez elég sok sebből vérzik. Mondjuk így helyből érdemben betördelhetnéd, hogy egyáltalán hozzáfogjon valaki. Amúgy ki kell olvasni az adatbázisból az e-mail cím alapján az adatokat (SELECT), majd az adatokat kiírni egy form egyes mezőibe, ahol szerkesztheti a felhasználó, majd egy újabb gombbal elküldheti, és ekkor frissíteni kell az adatokat (UPDATE).
re: MYSQL adatbázis módosítás php-val
Jelszót nem kér? Mert így elég lazán lehet ezzel játszadozni :)
re: MYSQL adatbázis módosítás php-val
Szerintem lépésről-lépésre haladj az ilyennel. Amire szükséged van, egy jquery adatletöltés, ehhez egy szerver oldali PHP-re, ami az adatokat visszaadja, és egy javascript részre, ami ezeket kezeli, és vizsgálja, hogy beírta-e az email címet.
re: MYSQL adatbázis módosítás php-val
Idézet:
Karessz eredeti hozzászólása
Jelszót nem kér? Mert így elég lazán lehet ezzel játszadozni :)
Úgy látom ott a jelszó, de nem szükséges kapcsolatot létrehozni az adatbázis használathoz. Meg lehet adni PHP.ini -ben is egy default kapcsolódást, bár nem ez szokott a gyakorlat lenni.
re: MYSQL adatbázis módosítás php-val
Alapjában két hatalmas gond van ezzel:
Idézet:
harkaly eredeti hozzászólása
<button type="submit">Küldés</button>
<p>Módosítás</p>
<p>
<input type="text" name="email">E-mail cím:
</p>
/*Amikor itt beírják az e-mail címet, ha létezik az adatbázisban, akkor az űrlapra betöltené a MYSQL adatbázisból az adatokat.*/
<p>
Megadott adatok módosítása
<buton type="submit" value="Módosítás">
/*Erre a gombra kattintva módosítaná az adatbázisban található adatokat*/
</p>
Itt az derül ki, hogy belépés nélkül ha megadok egy e-mail címet akkor láthatom/módosíthatom a tulaj adatait sőt még rendelhetek is a nevében...
Idézet:
harkaly eredeti hozzászólása
PHP feldolgozás:
<?php
$kapcsolat=mysql_connect("localhost","username","P assword");
mysql_select_db("db",$kapcsolat);
mysql_set_charset("utf8",$kapcsolat);
$sqlutasitas="INSERT INTO table (nev, tel, cim, email, rendeles) VALUES ('$_POST[nev]','$_POST[tel]','$_POST[cim]','$_POST[email]','$_POST[rendeles]')";
mysql_query($sqlutasitas);
mysql_close($kapcsolat);
print "<p align="Center">Köszönjük rendelését!</p>";
?>
Biztonságos ez így? A user által befirkantott adatokat ellenőrzés nélkül beírni az SQL-be...
Szerintem az igazi megoldás, hogy regisztrációt követően maradjon bejelentkezve a user (ha maga nem lép ki) és akkor legközelebb semmivel nem kell törődnie csak a rendelést feladnia. Ha kilépett akkor meg a regelt adataival bármikor be tud lépni. Illetve ha már úgy is be van logolva, akkor meg bármikor hozzáférhet az adatainak módosításához. Tehát itt van az, hogy klikkel a módosításra, és mivel azonosítva van így a form-ba automatikusan meg is jelennek az adatai amit módosíthat.
Persze ettől még vannak alapvető biztonsági elemek amiket érdemes betartani!!!
re: MYSQL adatbázis módosítás php-val
Az SQL része katasztrófa (SQL Injection). Szerintem nézz utána a PDO használatának első körben.
re: MYSQL adatbázis módosítás php-val
Idézet:
gzoli eredeti hozzászólása
Szerintem lépésről-lépésre haladj az ilyennel. Amire szükséged van, egy jquery adatletöltés, ehhez egy szerver oldali PHP-re, ami az adatokat visszaadja, és egy javascript részre, ami ezeket kezeli, és vizsgálja, hogy beírta-e az email címet.
A jquery-s adattöltésre legfeljebb utólag van szüksége, az max. a legutolsó lépés legyen, amikor már működik neki egy alap szkript (javascript rész szintén). Sokkal jobban jár, ha először ezekkel nem foglalkozik, így is lesz sok dolog, amire kezdőként oda kell figyelnie. Első körben valamit nézzen adatbáziskezeléshez (pl. PDO),.
re: MYSQL adatbázis módosítás php-val
Google
"Hogy lehet azt megoldani, hogy például az e-mail cím megadása után az űrlapra betöltöm a MYSQL adatbázisban található adatokat"