Form segitségével forráskod küldési hiba MYsql-ba?
<a href="hahaha.hu"><img src="http://valami.com/vala/mi/images/slide/kozep.jpg"></a>
böl ez kerül a mysql-be
<a href="hahaha.hu"><img src="http://valami.com/vala/mi/images/slide/kozep.jpg"></a>
mysql küldő:
<?php
include("dbconnect.php");
extract($_POST);
if(!empty($user)) {
$title = addslashes($title);
$forras = addslashes($forras);
$hely= addslashes($hely);
$user= addslashes($user);
$sql = "INSERT INTO home (id, title, forras, hely, user) VALUES ('NULL', '$title','$forras','$hely','$user')";
$query = mysql_query($sql) or die("Cannot query the database.<br>" . mysql_error());
echo "Banner hozzáadva.";
} else {
?>
form:
<tr>
<td width="117"><font size="1">Forráskod*:</font></td>
<td width="577">
<font size="1">
<input type="text" name="forras" size="100">
</font>
</td>
</tr>
mysql mezo:
forras text utf8_hungarian_ci
elöre is köszönöm
bocsánat hibásan másoltam,
<a href=\"hahaha.hu\"><img src=\"http://valami.com/vala/mi/images/slide/kozep.jpg\"></a>
ez lesz belöle!
Pontosan mi a probléma?
Hogy oda tesz egy perjelet? Hiszen te mondtad neki, hogy tegye oda:
addslashes
Használd monjuk a mysql_real_escape_string -et.
Köszönöm, megoldottam: akinek még ilyen baja lenne annak:
<?php
include("dbconnect.php");
extract($_POST);
if(!empty($user)) {
$title = $title;
$forras = $forras;
$hely = $hely;
$user = $user;
$sql = "INSERT INTO home (id, title, forras, hely, user) VALUES ('NULL', '$title','$forras','$hely','$user')";
$query = mysql_query($sql) or die("Cannot query the database.<br>" . mysql_error());
echo "Banner hozzáadva.";
} else {
?>
Nos, ez itt értelmetlen:
$title = $title;
$forras = $forras;
$hely = $hely;
$user = $user;
Hiszen minden változót magával teszel egyenlővé.
Nem mellesleg SOHASEM bízunk meg falhasználótól származó adatokban, így alighanem SQL injection-al pár héten belül fel lesz törve a honlap.
A mysql_real_escape_string-el vagy ahogy te csináltad strip_tags-el ezt megakadályozhatod, mégpedig oly módon, hogy a " ' elé egy per jelet tesz.
Mindkettő megoldás úgy lesz csak használható, ha kiíratásnál lecseréled a \' \" -t ' és "-re.
Így semmiképp ne hagyd, ahogy most van!
Így használd:
$title = mysql_real_escape_string($title);
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!