Добавление записи с помошю javascript из PHP

Статус
В этой теме нельзя размещать новые ответы.

vanoano

Новичок
Добавление записи с помошю javascript из PHP

Здравстнуите

обисните пажалста принцип, как одновременно добавить в базу из формы PHP поля и данные о имени и иесто записи фаила?

есть форма с полями и скрипт который меняет размер имиджа и записывает на сервер:

<?php

$db = mysql_connect("localhost", "phpvanoano", "ddddddddd");
mysql_select_db("dbvanoano", $db);


$result = mysql_query ("SELECT * FROM ddddddddd", $db);
$myrow = mysql_fetch_array($result);
$ganid = $myrow['ganid']+1;
$gza=("uploads/$ganid");
mkdir ("../$gza");

mysql_close($db);
function img_resize($src, $dest, $rgb=0xFFFFFF, $quality=100)
{
if (!file_exists($src)) return false;

$size = getimagesize($src);

if ($size == false)
{
return false;
}

$width=420;
$tmp=$size[0]/$width;
$height=intval($size[1]/$tmp);


$format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
$icfunc = "imagecreatefrom" . $format;
if (!function_exists($icfunc))
{
return false;
}
$isrc = $icfunc($src);
$idest = imagecreatetruecolor($width, $height);

imagefill($idest, 0, 0, $rgb);
imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0, $width, $height, $size[0], $size[1]);

imagejpeg($idest, $dest, $quality);

$tt=explode("l__", $dest);
$tt[0];//&#239;&#243;&#242;&#252;

$fname="main_".md5(rand(0, 99999999));


$raz=substr($dest, -5);
$tt1=explode(".", $raz);
//$tt1[1];
$fnameaaaa=$fname.".".$tt1[1];
$fnamen=$tt[0].$fname.".".$tt1[1];

rename($dest, $fnamen);


imagedestroy($isrc);
imagedestroy($idest);
}

if (!empty($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_GET['folder'] . '/';
$targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];

// Uncomment the following line if you want to make the directory if it doesn't exist
// mkdir(str_replace('//','/',$targetPath), 0755, true);
$targetFileSmall = str_replace('//','/',$targetPath) . 'l__' . $_FILES['Filedata']['name'];

move_uploaded_file($tempFile, $targetFile);
img_resize($targetFile, $targetFileSmall);

echo "1";
}

?>

как добится того чтоб можна было загрузить 7 фатфграфий и данные о все фаилах в одну базу вместе с данными полей формы? :(
 

damngood

Мозг был, но ушел...
даже читать не хочется этот код.

1. береж файл, генеришь для него уникальное имя, кладешь куда тебе надо, не забыв запомнить оригинальное имя файла.
2. пишешь в базу поля, что тебе нужны и имя, сгенеренное для файлы, плюс оригинальное имя.

Сложность в чем?
 

vanoano

Новичок
пробую перенать имя с помошю $_GET но непалучается чтото и как можно ркализавать загрузку нескольких фаилов а не одного? :(
 

damngood

Мозг был, но ушел...
vanoano
Файлы передаются только через POST запрос, имя чего ты передаешь GETом?
 

vanoano

Новичок
GETом хочу передать имя и путь фаила через переменную...
этот скрипт я недавна скачал откудата... а нелзя использовать толка средства PHP?

Уменя форма с полями и форма загрузки фаила.. Когда нажимаю прикрепить фаил, фаил записивается но страница обнавляетса...

может гденибудь есть пример где паказанна как на однои страничке можно заполнить и поля и отправить несколько фаилов сразу и записать в базу данные полей и путь и имя фаила на сервере...

хоть какоинибудь пример. буду очень признателен
 

vanoano

Новичок
Спасиба

то что нада
а как реализавать проблемму обновления страницы? уменя кпоме этои формы ра этоиже странице есть форма сполями... как добится того чтоб нажатоеи кнопки в базу записывались и данные полеи и данные о фаилах?

Спасиба за ссылку
 

vanoano

Новичок
Вы правы… подзабыл малость русский
Замечание правильное и принимаю
Данные в базу записывать умею, никак не могу просто реализовать из за того что у меня на странице 2 формы
 

dimagolov

Новичок
странице 2 формы
отправляется только одна. если и та и другая обрабатывается одним и тем же скриптом, а значения в них разные, то сделай, к примеру, в каждой скрытое поле с именем формы и в зависимости от этого выбирай обработчик
 

vanoano

Новичок
Всем привет…
Очень нужна ваша помощь … сотый раз читаю этот скрипт и перечитываю .. всё уже перепробовал..
Хочу добиться чтоб просто в пустую базу добавлялись записи (id_catalog вовсе хочу убрать)
Просто чтоб любой мог добавлять фотку, название и комментарии

addphotoform.php
PHP:
<?php

  require_once ("config.php");
  include "topadmin.php";    

  if(!isset($button)) $button = "Добавить";
  if(!isset($action)) $action = "addphoto.php";
  if(!isset($showhide)) $showhide = "checked";

  $id_photo = $_GET['id_photo'];

  if(!isset($pos))
  {
    $query = "SELECT MAX(pos) AS maxpos FROM photo
              WHERE id_catalog = $id_catalog";
    $maxpos = mysql_query($query);
    if($maxpos)
    {
      if(mysql_num_rows($maxpos)>0) $pos = mysql_result($maxpos, 0) + 1;
      else $pos = 1;
    } else $pos = 1;
  }
?>
<p><a href=index.php?id_parent=<? echo $id_catalog; ?>>Вернуться на страницу администрирования</a></p>
<form  enctype='multipart/form-data' action=<?php echo $action; ?> method=post>
<table>
  <tr>
    <td><p>Название *:</td>
	<td><input class=input type=text name=name value='<?php echo $name; ?>'></td>
  </tr>
  <tr>
    <td><p>Описание:</td>
	<td><input class=input type=text name=description value='<?php echo $description; ?>'></td>
  </tr> 	
  <tr>
    <td><p><nobr>Изображение *:</nobr></td>
	<td><input class=input  type=file name=image></td>
  </tr> 	
  <tr>
    <td><p>Позиция *:</td>
	<td><input class=input type=text name=pos value='<?php echo $pos; ?>'></td>
  </tr> 	
  <tr>
    <td><p>Отображать:</td>
	<td><input type=checkbox name=hide <?php echo $showhide; ?>></td>
  </tr> 	
  <tr>
    <td></td>
	<td><input class=button type=submit value=<?php echo $button; ?>></td>
  </tr> 	
<input type=hidden name=id_catalog value=<?php echo $id_catalog; ?>>
<input type=hidden name=id_photo value=<?php echo $id_photo; ?>>
</form>
<?php
  include "bottomadmin.php";  
?>

addphoto.php
PHP:
<?php

  require_once ("config.php");

  include ("util.php");

  if(empty($_POST['name'])) links($_POST['id_catalog'], "Отсутствует название фотографии");
  if(empty($_POST['pos'])) links($_POST['id_catalog'],  "Не введена позиция фотографии");

  if($_POST['hide'] == "on") $showhide = "show";
  else $showhide = "hide";

  $_POST['name'] = str_replace("'", "`", $_POST['name']);

  if (!empty($_FILES['image']['tmp_name']))
  {

    $ext = strrchr($_FILES['image']['name'], "."); 

    $image = "/files/".date("YmdHis",time())."$ext";
    $smallpicture1image = "/files/".date("YmdHis",time())."_s$ext";  

    if (copy($_FILES['image']['tmp_name'], "../".$image))
    {

      unlink($_FILES['image']['tmp_name']);

      chmod("../".$image, 0644);
    }
  } else links($_POST['id_catalog'], "Фотография не передана на сервер");

  if(!resizeimg($image, $smallpicture1image, 133, 100))
  {
    links($_POST['id_catalog'],
          "Ошибка при создании уменьшенной копии изображения с
           помощью библиотеки GDLib");
  }

  $query = "INSERT INTO gancxadebebi VALUES (NULL,
                                     '".$_POST['name']."',
                                     '$smallpicture1image',
                                     '$image',
                                     '$showhide',
                                     ".$_POST['pos'].",
                                     ".$_POST['id_catalog'].")";
  if(mysql_query($query))
  {

    echo "<HTML><HEAD>
          <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php?id_parent=".$_POST['id_catalog']."'>
          </HEAD>";
		  
  } else links($_POST['id_catalog'], 
         "Ошибка при добавлении новой записи в таблицу фотографий");

  function links($id_catalog,$msg)
  {
    echo "<p>".$msg."</p>";
    echo "<p><a href=# onClick='history.back()'>Вернуться к правке фотографии</a></p>";
    echo "<p><a href=index.php?id_parent=$id_catalog>Администрирование фотогалереи</a></p>";
    exit();
  }
?>
util.php
PHP:
<?php
  function resizeimg($filename, $smallimage, $w, $h)
  {
    $filename = "../".$filename;
    $smallimage = "../".$smallimage;    
    $ratio = $w/$h;
    $size_img = getimagesize($filename);
    $src_ratio=$size_img[0]/$size_img[1];
	if ($ratio<$src_ratio)
	{
	  $h = $w/$src_ratio;
	}
	else
	{
	  $w = $h*$src_ratio;
	}
    $dest_img = imagecreatetruecolor($w, $h);       
    $src_img = imagecreatefromjpeg($filename);                      
    imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]);                
    imagejpeg($dest_img, $smallimage);             
    imagedestroy($dest_img);
    imagedestroy($src_img);
    return true;         
  }  
?>
:(

-~{}~ 25.11.09 13:13:

Насколько я понял надо изменить функцию изменения на функцию добавление :( :( :(
 

vanoano

Новичок
damngood Спасиба..
Понимаю что достал уже вопросами :(
В какой файл именно записать $var = 'напиши так свой код'; (addphotoform.php, addphoto.php или util.php) и куда именно?

damngood я ваш должник!
 

damngood

Мозг был, но ушел...
Да я имел в виду то, что здесь на форуме сесть чудные тэги

[ php ] [/ php ] < писать без пробелов между [ php

Все что между тэгами раскрасится так, как нам тут приятно читать)
 

HraKK

Мудак
Команда форума
vanoano
Пиши проблему четко и ясно, тут не получается то-то и то-то. Вот код( макс 10 строчек), а выкладывая нарытые где-то чужие скрипты с криками:" хачу сделать, сделайты за мну!", иди в другое место.

читаем phpfaq.ru/debug
И gramota.ru
Перед отправкой сюда сообщения, соизволь потратить свое время, а не наше и проверить орфографию в MS Word.

Если твой вопрос не будет соответствовать этим 2 требованиям, тогда тему я закрою.

Спасибо.
 

vanoano

Новичок
HraKK
&#4335;&#4312;&#4306;&#4304;&#4320;&#4312;&#4334;&#4304;&#4320; &#4331;&#4315;&#4304;&#4317;! &#4307;&#4312;&#4307;&#4312; &#4315;&#4304;&#4307;&#4314;&#4317;&#4305;&#4304; &#4307;&#4304;&#4334;&#4315;&#4304;&#4320;&#4308;&#4305;&#4312;&#4321;&#4311;&#4309;&#4312;&#4321;... &#4311;&#4323; &#4332;&#4304;&#4312;&#4313;&#4312;&#4322;&#4334;&#4308; &#4327;&#4309;&#4308;&#4314;&#4304;&#4324;&#4308;&#4320;&#4312; &#4308;&#4306; &#4328;&#4308;&#4316;&#4312;&#4328;&#4309;&#4316;&#4304; &#4323;&#4313;&#4309;&#4308; &#4312;&#4327;&#4317; &#4307;&#4304; &#4306;&#4304;&#4315;&#4317;&#4309;&#4304;&#4321;&#4332;&#4317;&#4320;&#4308; &#4313;&#4312;&#4307;&#4308;&#4330; (&#4308;&#4321; &#4320;&#4304;&#4330; &#4315;&#4304;&#4320;&#4311;&#4314;&#4332;&#4308;&#4320;&#4304;&#4321; &#4328;&#4308;&#4308;&#4334;&#4308;&#4305;&#4304;) &#4320;&#4304;&#4330; &#4328;&#4308;&#4308;&#4334;&#4308;&#4305;&#4304; &#4313;&#4317;&#4307;&#4321; &#4308;&#4321; &#4321;&#4304;&#4315;&#4312; &#4324;&#4304;&#4312;&#4314;&#4312; &#4308;&#4320;&#4311;&#4315;&#4304;&#4316;&#4308;&#4311;&#4310;&#4308; &#4307;&#4304;&#4315;&#4317;&#4313;&#4312;&#4307;&#4308;&#4305;&#4323;&#4314;&#4312;&#4304;.. 1 &#4311;&#4309;&#4308;&#4304; &#4326;&#4304;&#4315;&#4308;&#4308;&#4305;&#4312; &#4304;&#4320; &#4315;&#4331;&#4312;&#4316;&#4304;&#4309;&#4321;, &#4309;&#4308;&#4320;&#4304;&#4324;&#4308;&#4320;&#4312; &#4315;&#4317;&#4309;&#4304;&#4334;&#4308;&#4320;&#4334;&#4308; &#4307;&#4304; &#4304;&#4315;&#4312;&#4322;&#4317;&#4315;&#4304;&#4330; &#4315;&#4317;&#4306;&#4315;&#4304;&#4320;&#4311;&#4308;&#4311;..
&#4315;&#4304;&#4307;&#4314;&#4317;&#4305;... &#4328;&#4308;&#4306;&#4312;&#4331;&#4314;&#4312;&#4304; &#4307;&#4304;&#4334;&#4323;&#4320;&#4317; &#4311;&#4308;&#4315;&#4304;.. &#4309;&#4308;&#4320;&#4304;&#4309;&#4312;&#4316; &#4309;&#4308;&#4320; &#4315;&#4308;&#4334;&#4315;&#4304;&#4320;&#4308;&#4305;&#4304; &#4315;&#4304;&#4312;&#4316;&#4330; :(
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху