Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,028

HOME > PHP > PHP Forum > ช่วยผมด้วยครับโค้ด form ของDrem เรื่องการอัพโหลดรูปภาพและต้องการเก็บชื่อไฟล์รูป



 

ช่วยผมด้วยครับโค้ด form ของDrem เรื่องการอัพโหลดรูปภาพและต้องการเก็บชื่อไฟล์รูป

 



Topic : 099851



โพสกระทู้ ( 27 )
บทความ ( 0 )



สถานะออฟไลน์




ตอนนี้ฐานข้อมูลของผมแบบเป็นนี้ หลังจากกดsubmit
database

จะเห็นได้ชัดว่ามันแยกกัน ข้อมูลที่กรอก กับ file field คือมันแบ่งเป็น 2 insert

ผมอยากจะให้ข้อมูลที่กรอก กับ file field มาอยู่รวมกันในการกดsubmitแค่ครั้งเดียว


อันนี้โค้ดนะครับ
Code (PHP)
<?php require_once('Connections/pee.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO news (headnews, detail, type, `date`) VALUES (%s, %s, %s, %s)",
                       GetSQLValueString($_POST['headnews'], "text"),
                       GetSQLValueString($_POST['detail'], "text"),
                       GetSQLValueString($_POST['type'], "text"),
                       GetSQLValueString($_POST['date'], "date"));


  mysql_select_db($database_pee, $pee);
  mysql_db_query("news","SET NAMES UTF8");
  $Result1 = mysql_query($insertSQL, $pee) or die(mysql_error());
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="JavaScript" src="date-picker.js"></script>
<title>Untitled Document</title>
</head>

<body>
<?
if($MM_insert == "form1") { //เช็คค่า hidden ที่่ส่งมา ถ้าเท่ากับ Add ให้โปรแกรมทำงาน
$date = date("U"); //สร้างเลข 10 หลักมาจากเวลา เพื่อเอาไปใช้เป็นชื่อของรูป ป้องกันชื่อรูปซ้ำ
if($file != "") {
$type = getimagesize($file); //หาประเภทของรูปภาพ
if($type[2] == 1) { //เมื่อรูปภาพเป็นชนิด gif
$image = $date."_img.gif";
} else if($type[2] == 2) { //เมื่อรูปภาพเป็นชนิด jpg
$image = $date."_img.jpg";
}
copy($file, "images/$image"); //ก๊อปปี้รูปภาพไปยังโพลเดอร์ images
chmod("images/$image", 0664); //ทำการ changmode
}

$host="localhost";
$db_username="root";
$db_password="123456";
$dbname="news"; //ชื่อฐานข้อมูล
$connect = mysql_connect($host,$db_username,$db_password);
if(!$connect){
echo "ไม่สามารถติดต่อฐานข้อมูลได้"; exit();
}

$sql = "insert into news (id, headnews, detail, type, image, `date`) values ('','','','', '$image','') "; //เพิ่มข้อมูลลงดาต้าเบส โดนเอาชื่อของรูปไปเก็บไว้
$dbquery = mysql_db_query($dbname, $sql);
}
?>
<p>Admin ยินดีต้อนรับ</p>
<p>New information</p>
<form action="<?php echo $editFormAction; ?>" method="POST" enctype="multipart/form-data" name="form1" id="form1">
  <table width="361" height="157" border="0">
    <tr>
      <td width="90">หัวเรื่อง</td>
      <td width="261"><label for="headnews"></label>
        <input type="text" name="headnews" id="headnews" /></td>
    </tr>
    <tr>
      <td>รายละเอียด</td>
      <td><label for="detail"></label>
        <textarea name="detail" id="detail" cols="45" rows="5"></textarea></td>
    </tr>
    <tr>
      <td>ประเภท</td>
      <td><label for="type"></label>
        <select name="type" id="type">
          <option value="บันเทิง">บันเทิง</option>
          <option value="การเมือง">การเมือง</option>
          <option value="ไอที">ไอที</option>
          <option value="กีฬา">กีฬา</option>
        </select></td>
    </tr>
    <tr>
      <td>รูป</td>
      <td><label for="file"></label>
        <label for="file"></label>
      <input type="file" name="file" id="file" /><label for="date"></label></td>
    </tr>
    <tr>
      <td>เวลา</td>
      <td><label for="date"></label>
        <input name="date" type="text" id="date" size="20" onkeypress="if (event.keyCode &lt; 45 || event.keyCode &gt; 57) { alert('พิมพ์เฉพาะตัวเลข และ - เท่านั้น '); event.returnValue = false;}" />
        <a href="javascript:show_calendar('form1.date');" onmouseover="window.status='ปฏิทิน';return true;" onmouseout="window.status='';return true;"><img src="show-calendar.gif" alt="" width="24" height="22" border="0" align="top" /></a></td>
    </tr>
    <tr>
      <td colspan="2"><input type="submit" name="button3" id="button3" value="Submit" />
        <input type="reset" name="button3" id="button4" value="Reset" /></td>
    </tr>
  </table>
  <p>&nbsp;</p>
  <input type="hidden" name="MM_insert" value="form1" />
</form>
<p>&nbsp;</p>
<p>&nbsp;</p>
</body>
</html>



ขอบคุณทุกท่านครับ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-08-31 13:34:54 By : coolgay01 View : 917 Reply : 7
 

 

No. 1



โพสกระทู้ ( 455 )
บทความ ( 0 )



สถานะออฟไลน์


ตอน INSERT มัน INSERT กันคนละที มันก็ไม่ได้อยู่ด้วยกันอะสิครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-31 13:42:39 By : yamcrocodile
 


 

No. 2



โพสกระทู้ ( 27 )
บทความ ( 0 )



สถานะออฟไลน์


ผมลองแล้วครับทำให้มันอยู่ INSERT เดี่ยวกันมันบอกว่า ธาฐข้อมูล be null ผมจะแก้ให้ผมได้ไหมครับ ทำให้มันรัน INSERT เดียวกัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-31 13:49:36 By : coolgay01
 

 

No. 3



โพสกระทู้ ( 455 )
บทความ ( 0 )



สถานะออฟไลน์


เขียนเอง หรือ ไปเอาของคนอื่นมาแก้ใขครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-31 14:01:06 By : yamcrocodile
 


 

No. 4



โพสกระทู้ ( 27 )
บทความ ( 0 )



สถานะออฟไลน์


เขียนเองครับยกเว้น Codeนี้
Code (PHP)
<?
if($MM_insert == "form1") { //เช็คค่า hidden ที่่ส่งมา ถ้าเท่ากับ Add ให้โปรแกรมทำงาน
$date = date("U"); //สร้างเลข 10 หลักมาจากเวลา เพื่อเอาไปใช้เป็นชื่อของรูป ป้องกันชื่อรูปซ้ำ
if($file != "") {
$type = getimagesize($file); //หาประเภทของรูปภาพ
if($type[2] == 1) { //เมื่อรูปภาพเป็นชนิด gif
$image = $date."_img.gif";
} else if($type[2] == 2) { //เมื่อรูปภาพเป็นชนิด jpg
$image = $date."_img.jpg";
}
copy($file, "images/$image"); //ก๊อปปี้รูปภาพไปยังโพลเดอร์ images
chmod("images/$image", 0664); //ทำการ changmode
}

$host="localhost";
$db_username="root";
$db_password="123456";
$dbname="news"; //ชื่อฐานข้อมูล
$connect = mysql_connect($host,$db_username,$db_password);
if(!$connect){
echo "ไม่สามารถติดต่อฐานข้อมูลได้"; exit();
}

$sql = "insert into news (id, headnews, detail, type, image, `date`) values ('','','','', '$image','') "; //เพิ่มข้อมูลลงดาต้าเบส โดนเอาชื่อของรูปไปเก็บไว้
$dbquery = mysql_db_query($dbname, $sql);
}
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-31 14:04:12 By : coolgay01
 


 

No. 5



โพสกระทู้ ( 455 )
บทความ ( 0 )



สถานะออฟไลน์


<?php require_once('Connections/pee.php'); ?>

คือไฟร์อะไรครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-31 14:08:03 By : yamcrocodile
 


 

No. 6



โพสกระทู้ ( 27 )
บทความ ( 0 )



สถานะออฟไลน์


Connections/pee.php คือการตั่งค่าให้อ่านSQLของผมครับ
อันนี้ครับ
Code (PHP)
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_pee = "localhost";
$database_pee = "news";
$username_pee = "root";
$password_pee = "123456";
$pee = mysql_pconnect($hostname_pee, $username_pee, $password_pee) or trigger_error(mysql_error(),E_USER_ERROR); 
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-31 14:12:36 By : coolgay01
 


 

No. 7



โพสกระทู้ ( 455 )
บทความ ( 0 )



สถานะออฟไลน์


ลองดัดแปลง ดูเอา ผมเขียนให้ไกล้เคียงคุณมากที่สุด ครับผมยังไม่ได้ลอง รันเขียนสดเลย

Code (PHP)
<?php

mysql_connect('localhost','root','123456') or die (mysql_error());
mysql_select_db("ชื่อ Database") or die (mysql_error());
mysql_query("SET NAMES UTF8");

if($_GET['action'] == '1')
{
	$headnews = $_POST['headnews'];
	$detail = $_POST['detail'];
	$type = $_POST['type'];
	$date = $_POST['date'];
	
	$name = $_FILES['file']['name'];
	$file = $_FILES['file']['tmp_name'];
	
	copy($file,"images/$name");//ส่วนตรงนี้ เพิ่มโค๊ต ที่จะแปลงชื่อ หรืออะไรก็ตาม แต่ ครับ
	
	$sql = mysql_query("INSERT INTO news VALUES ('','$headnews','$detail','$type','$image','$date')");
	
	if($sql)
	{
		echo "<script>alert('เพิ่มข้อมูล เสร็จ')</script>";
	}else{
		echo "<script>alert('ไม่สามารถเพิ่มข้อมูลได้')</script>";
	}
    exit()
}
?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script language="JavaScript" src="date-picker.js" type="text/javascript">
</script>

    <title>Untitled Document</title>
</head>

<body>

    <p>Admin ยินดีต้อนรับ</p>

    <p>New information</p>

    <form action="?action=1" method="post" enctype="multipart/form-data" id="form1">
        <table width="361" height="157" border="0">
            <tr>
                <td width="90">หัวเรื่อง</td>

                <td width="261"><input type="text" name="headnews" id="headnews" /></td>
            </tr>

            <tr>
                <td>รายละเอียด</td>

                <td>
                <textarea name="detail" id="detail" cols="45" rows="5">
</textarea></td>
            </tr>

            <tr>
                <td>ประเภท</td>

                <td><select name="type" id="type">
                    <option value="บันเทิง">
                        บันเทิง
                    </option>

                    <option value="การเมือง">
                        การเมือง
                    </option>

                    <option value="ไอที">
                        ไอที
                    </option>

                    <option value="กีฬา">
                        กีฬา
                    </option>
                </select></td>
            </tr>

            <tr>
                <td>รูป</td>

                <td><input type="file" name="file" id="file" /></td>
            </tr>

            <tr>
                <td>เวลา</td>

                <td><input name="date" type="text" id="date" size="20" onkeypress="if (event.keyCode &lt; 45 || event.keyCode &gt; 57) { alert('พิมพ์เฉพาะตัวเลข และ - เท่านั้น '); event.returnValue = false;}" /> <a href="javascript:show_calendar('form1.date');" onmouseover="window.status='ปฏิทิน';return true;" onmouseout="window.status='';return true;"><img src="show-calendar.gif" alt="" width="24" height="22" border="0" align="top" /></a></td>
            </tr>

            <tr>
                <td colspan="2"><input type="submit" name="button3" id="button3" value="Submit" /> <input type="reset" name="button3" id="button4" value="Reset" /></td>
            </tr>
        </table>

        <p>&nbsp;</p><input type="hidden" name="MM_insert" value="form1" />
    </form>

    <p>&nbsp;</p>

    <p>&nbsp;</p>
</body>
</html>



ติดต่อ Line ID: yamq


ประวัติการแก้ไข
2013-08-31 14:25:35
2013-08-31 14:27:14
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-31 14:24:44 By : yamcrocodile
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยผมด้วยครับโค้ด form ของDrem เรื่องการอัพโหลดรูปภาพและต้องการเก็บชื่อไฟล์รูป
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่