Php kód? mysql-ből való törlés változó megadásával.
Sziasztok. Előre leszögezem hogy még csak most ismerkedem a php-vel. A problémám az lenne hogy van egy iyen urlap2.php-m:
<?php
include("config.php");
?>
<HTML>
<HEAD>
<TITLE> Meditech </TITLE>
</HEAD>
<BODY>
<p align=center>
<font size=5 color=navy><b>Orvosi tű megrendelő űrlap</b></font>
<br><br>
<form action="felvetel2.php" method="POST">
<table cellspacing=20>
<tr>
<td align=right><b>NÉV:</td>
<td>
<?php
$sql="SELECT * FROM megrendelo ORDER BY nick";
$sql_result=mysql_query($sql);
echo "<select name=nick>";
while($rows=mysql_fetch_array($sql_result))
{
echo "<option value=".$rows['nick'].">".$rows['nick']."</option>\n";
}
?>
</td>
</tr>
<tr>
<td align=right><b>Rajzszám:</td>
<td>
<select name="rajzszam">
<option value="DR-4001-C">DR-4001-C
<option value="DR-4002-C">DR-4002-C
<option value="DR-4005-C">DR-4005-C
</select>
</td>
</tr>
<tr>
<td align=right><b>Darabszám(db):</td>
<td>
<input name="darab" style="width:70">
</td>
</tr>
</table>
<input type="submit" value="Megrendelés">
</form>
<form action="torles.php" method="POST">
<table cellspacing=20>
<tr>
<td align=right><b>AZONOSÍTÓ:</td>
<td>
<?php
$sql="SELECT * FROM megrendeles";
$sql_result=mysql_query($sql);
echo "<select name=id>";
while($rows=mysql_fetch_array($sql_result))
{
echo "<option value=".$rows['id'].">".$rows['id']."</option>\n";
}
?>
</td>
</tr>
</table>
<input type="submit" value="Törlés">
</form>
</BODY>
</HTML>
<?php
mysql_close($con);
?>
Ez adatokat visz be egy mysql táblázatba. Ehhez van egy felvetel2.php-m. Ez működik rendesen de van alatta egy olyan rész ami legördülő menübe kiírja a megrendelések id-ját. Szeretném úgy megcsinálni ,hogy azt az id-jú sort törölje a törlés gomb megnyomásával amit kiválasztok.Csak az istennek se tudom megcsinálni pedig szerintem nem olyan nehéz.
Fontos lenne, előre is köszönet a megoldásokért.
■ <?php
include("config.php");
?>
<HTML>
<HEAD>
<TITLE> Meditech </TITLE>
</HEAD>
<BODY>
<p align=center>
<font size=5 color=navy><b>Orvosi tű megrendelő űrlap</b></font>
<br><br>
<form action="felvetel2.php" method="POST">
<table cellspacing=20>
<tr>
<td align=right><b>NÉV:</td>
<td>
<?php
$sql="SELECT * FROM megrendelo ORDER BY nick";
$sql_result=mysql_query($sql);
echo "<select name=nick>";
while($rows=mysql_fetch_array($sql_result))
{
echo "<option value=".$rows['nick'].">".$rows['nick']."</option>\n";
}
?>
</td>
</tr>
<tr>
<td align=right><b>Rajzszám:</td>
<td>
<select name="rajzszam">
<option value="DR-4001-C">DR-4001-C
<option value="DR-4002-C">DR-4002-C
<option value="DR-4005-C">DR-4005-C
</select>
</td>
</tr>
<tr>
<td align=right><b>Darabszám(db):</td>
<td>
<input name="darab" style="width:70">
</td>
</tr>
</table>
<input type="submit" value="Megrendelés">
</form>
<form action="torles.php" method="POST">
<table cellspacing=20>
<tr>
<td align=right><b>AZONOSÍTÓ:</td>
<td>
<?php
$sql="SELECT * FROM megrendeles";
$sql_result=mysql_query($sql);
echo "<select name=id>";
while($rows=mysql_fetch_array($sql_result))
{
echo "<option value=".$rows['id'].">".$rows['id']."</option>\n";
}
?>
</td>
</tr>
</table>
<input type="submit" value="Törlés">
</form>
</BODY>
</HTML>
<?php
mysql_close($con);
?>
Ez adatokat visz be egy mysql táblázatba. Ehhez van egy felvetel2.php-m. Ez működik rendesen de van alatta egy olyan rész ami legördülő menübe kiírja a megrendelések id-ját. Szeretném úgy megcsinálni ,hogy azt az id-jú sort törölje a törlés gomb megnyomásával amit kiválasztok.Csak az istennek se tudom megcsinálni pedig szerintem nem olyan nehéz.
Fontos lenne, előre is köszönet a megoldásokért.
Tipp 1: DELETE FROM táblanév
Tipp 2: Én vagy betennék egy rejtett mezőt a select tag után és a form elküldése után vizsgálnám annak létezését isset-tel, vagy betennék egy üres <option></option> a lista legelejéra és a form elküldése utan nézném, hogy üres e - empty-vel - a $_POST['id']. Bár a törlésnek ettől függetlenül mennie kellene, ez csak olyan 'biztonsági' funkció.
Ellenőrizted, hogy a torles.php tényleg meghívódik? Pl tedd bele, hogy echo "ok";. Ha ez megjelenik akkor a törlési parancsnak is le kellene futnia.
Ezt így semmiképp
Ahol:
...és minden adatot törölt a táblából.
Tipikus hozzászólás ganyecz
Szóval igazad is van meg nem is. Én így használom, a szintaktika helyes!
Az már más kérdés, hogy nekem ez az utasítás egy függvény paramétere, mely biztonságossá teszi használatát.
Mindenki jobban járt volna, ha kb ezt irod: '...bár szintaktikailag helyes, de olvass untána az sql injection-nek...'.
Na mindegy, csak bosszantó, hogy valaki segítséget kér, aki teszem hozzá egy kezdő, és ezt kapja.
Szép napot!
úgy marad
Tudom magamról Én is a weblaboron kezdtem az echo parancstól Kaptam megoldásokat itt ilyent mint a Tied is ... akkor gyorsan beillesztettem működik ... gyerünk tovább ezer még a dolog .. és úgy maradt. a mai napig úgy van ide-tova 5 éve. Ugyan kirúgtak a cégtől és még 1,5 hónapot kell kibírjanak a kódok. de most hogy majd valaki belenéz ... lesz minn csámcsognia. :-) Pedig működik, 2db 500-500 látogatós szájtot nem fog senki sql injectionozni....
És segítettél ez a lényeg! De a jó segítségnél is van jobb segítség, és ennyi. Szép napot rand
Szia rand, most felcsigáztál,
Te hogyan oldanád meg különben? Mert én is meg az elején tartok - ezért lettem morcos fórumtársunk válaszán, hogy mért nem lehet építő választ adni - és jelenleg csak az injection ellen védem az utasításokat. Valami példát tudnál mutatni? És 5 éves tapasztalattal a hátad mögött, mmiből látszik, hogy egy programkód kezdőé vagy sem? Tényleg nagyon érdekel, mert mindig fejlesztem a saját kis objektumaim eljárásait... Előre is köszi!
u.i.: Kérdezni nem szégyen, és mindig van aki újat mutat :)!
?
A kérdés az, hogy melyik része nem megy a dolognak? A DELETE query? Esetleg törlés után ugyanazt az oldalt visszakapni?