kép és szöveg tárolása adatbázisban
üdv mindenki..
kis segítségre szorulok.. van 1 képfeltötőm és 1 listázó php scriptem. az a problémám, h az adatbázisban NEM tárolja el nekem a szöveget,csak a kép linkjét.. olyan oldalt szeretnék készíteni, h feltöltök 1 képet, és vele 1 megjegyzést is, és ezt adatbázisban tárolja.. nagyából kész.. csak a szöveget nem tárolja.. segítsetek..
képfeltötő kódja:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
if (isset($_POST['kepek'])){
$maxfilesize = 120000000; // A maximum file méret => 204800 = 200kb
$filedir = 'upload'; //Itt megadhatjuk a mappa elérését, ahova mentjük a képet. 777 legyen a mappa attribútuma
$size = $_FILES['userfile']['size'];
$type = $_FILES['userfile']['type'];
//Engedélyezett kép formátumok
if (($type == "image/jpg") or ($type == "image/gif") or ($type == "image/jpeg") or ($type == "image/png")){
if($_FILES['userfile']['size'] < $maxfilesize) {
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
if(!file_exists($filedir . '/' . basename($_FILES['userfile']['name']))){
if(move_uploaded_file($_FILES['userfile']['tmp_name'],$filedir . '/'.basename($_FILES['userfile']['name']))){
$kapcsolat = mysql_connect("localhost", "root",""); //kapcsolódás
$tabla="cdcol";
mysql_select_db($tabla); //adatbézis kiválasztás
mysql_query("INSERT INTO kepek (link,szoveg) VALUES ('http://localhost/lac_proba/proba/upload/".$_FILES['userfile']['name']."','".$_GET['szoveg']."')"); // a kepek táblába felvesszük a kép linkjét és a leíró szöveget
mysql_close($kapcsolat);
print "<div style='color:#006600;'>A file feltöltése sikerült!</div>";
echo '<br/><img src="upload/'.$_FILES['userfile']['name'].'" alt="" border="1" /><br/>';
echo'A kép elérési útvonala: http://localhost/lac_proba/proba/upload/'.$_FILES['userfile']['name'];
echo'<br/>a felvitt szöveg: '.$szoveg;
}
}else{
echo '<div style="color:#FF0000;">Ezen a néven már van kép tárolva!</div>';
}
}//is_uploaded
}else{
echo '<div style="color:#FF0000;">A kép mérete meghaladja a megengedett méretet!</div>';
}
}else{
echo '<div style="color:#FF0000;">A kép formátum nem megfelelo!</div>';
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Kép feltöltés</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body>
<form enctype="multipart/form-data" action="kepfel_j.php" method="post">
<br>
<br>
<div align="center">
<p> </p>
<table width="400" border="1" cellspacing="1" cellpadding="2">
<tr>
<td>Kép feltöltése:</td>
<td><input name="userfile" type="file" /></td>
</tr>
<tr>
<td>Kép leírása: </td>
<td><textarea name="szoveg" cols="20" rows="6"></textarea></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="kepek" value="OK" /></td>
</tr>
</table>
<p> </p>
</div>
</form>
</body>
</html>
</body>
</html>
listázó kódja:
<?php
$kapcsolat = mysql_connect("localhost", "root",""); //kapcsolódás
$tabla="cdcol";
mysql_select_db($tabla); //adatbézis kiválasztás
print "<table>";
$dat= mysql_query("SELECT * FROM kepek");
while ($dat1= mysql_fetch_array($dat))
{
print "<tr><td><img src='".$dat1['link']."'></td><td>".$dat1['szoveg']."</td></tr>";
}
print "</table>";
mysql_close($kapcsolat);
?>
adatbázis létrehozása(sql kód):
CREATE TABLE `kepek` (
`id` bigint(20) NOT NULL auto_increment,
`link` varchar(100) NOT NULL default '',
`szoveg` varchar(1000) NOT NULL default '',
PRIMARY KEY (`id`)
);
mysql_query("INSERT INTO kepek (link,szoveg) VALUES ('http://localhost/lac_proba/proba/upload/".$_FILES['userfile']['name']."','".$_GET['szoveg']."')");
ezt a réészt kellene segíteni kiavítani..
millió köszönet
■ kis segítségre szorulok.. van 1 képfeltötőm és 1 listázó php scriptem. az a problémám, h az adatbázisban NEM tárolja el nekem a szöveget,csak a kép linkjét.. olyan oldalt szeretnék készíteni, h feltöltök 1 képet, és vele 1 megjegyzést is, és ezt adatbázisban tárolja.. nagyából kész.. csak a szöveget nem tárolja.. segítsetek..
képfeltötő kódja:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
if (isset($_POST['kepek'])){
$maxfilesize = 120000000; // A maximum file méret => 204800 = 200kb
$filedir = 'upload'; //Itt megadhatjuk a mappa elérését, ahova mentjük a képet. 777 legyen a mappa attribútuma
$size = $_FILES['userfile']['size'];
$type = $_FILES['userfile']['type'];
//Engedélyezett kép formátumok
if (($type == "image/jpg") or ($type == "image/gif") or ($type == "image/jpeg") or ($type == "image/png")){
if($_FILES['userfile']['size'] < $maxfilesize) {
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
if(!file_exists($filedir . '/' . basename($_FILES['userfile']['name']))){
if(move_uploaded_file($_FILES['userfile']['tmp_name'],$filedir . '/'.basename($_FILES['userfile']['name']))){
$kapcsolat = mysql_connect("localhost", "root",""); //kapcsolódás
$tabla="cdcol";
mysql_select_db($tabla); //adatbézis kiválasztás
mysql_query("INSERT INTO kepek (link,szoveg) VALUES ('http://localhost/lac_proba/proba/upload/".$_FILES['userfile']['name']."','".$_GET['szoveg']."')"); // a kepek táblába felvesszük a kép linkjét és a leíró szöveget
mysql_close($kapcsolat);
print "<div style='color:#006600;'>A file feltöltése sikerült!</div>";
echo '<br/><img src="upload/'.$_FILES['userfile']['name'].'" alt="" border="1" /><br/>';
echo'A kép elérési útvonala: http://localhost/lac_proba/proba/upload/'.$_FILES['userfile']['name'];
echo'<br/>a felvitt szöveg: '.$szoveg;
}
}else{
echo '<div style="color:#FF0000;">Ezen a néven már van kép tárolva!</div>';
}
}//is_uploaded
}else{
echo '<div style="color:#FF0000;">A kép mérete meghaladja a megengedett méretet!</div>';
}
}else{
echo '<div style="color:#FF0000;">A kép formátum nem megfelelo!</div>';
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Kép feltöltés</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body>
<form enctype="multipart/form-data" action="kepfel_j.php" method="post">
<br>
<br>
<div align="center">
<p> </p>
<table width="400" border="1" cellspacing="1" cellpadding="2">
<tr>
<td>Kép feltöltése:</td>
<td><input name="userfile" type="file" /></td>
</tr>
<tr>
<td>Kép leírása: </td>
<td><textarea name="szoveg" cols="20" rows="6"></textarea></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="kepek" value="OK" /></td>
</tr>
</table>
<p> </p>
</div>
</form>
</body>
</html>
</body>
</html>
listázó kódja:
<?php
$kapcsolat = mysql_connect("localhost", "root",""); //kapcsolódás
$tabla="cdcol";
mysql_select_db($tabla); //adatbézis kiválasztás
print "<table>";
$dat= mysql_query("SELECT * FROM kepek");
while ($dat1= mysql_fetch_array($dat))
{
print "<tr><td><img src='".$dat1['link']."'></td><td>".$dat1['szoveg']."</td></tr>";
}
print "</table>";
mysql_close($kapcsolat);
?>
adatbázis létrehozása(sql kód):
CREATE TABLE `kepek` (
`id` bigint(20) NOT NULL auto_increment,
`link` varchar(100) NOT NULL default '',
`szoveg` varchar(1000) NOT NULL default '',
PRIMARY KEY (`id`)
);
mysql_query("INSERT INTO kepek (link,szoveg) VALUES ('http://localhost/lac_proba/proba/upload/".$_FILES['userfile']['name']."','".$_GET['szoveg']."')");
ezt a réészt kellene segíteni kiavítani..
millió köszönet
előbb még: sql injection
$_GET['szoveg'] helyett...mysql_real_escape_string(htmlspecialchars($_GET['szoveg'])) -t ajánlom.
köszönet