Модератор форума: Admin, Cибиря4ка, Komoff, Diana  
Скрипты и коды для юкоз - Форум аццкого кодера » Раздел для начинающих » Если вы пришли за помощью, то Вам сюда... » Вопросы для доброго дяди, от Koeshiro (Не плохо?)
Вопросы для доброго дяди, от Koeshiro
Дата: Воскресенье, 02.03.2014, 21:31 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Koeshiro,
Цитата Koeshiro, Вс, 02.03.2014, 21:29:59
В этом случае придёться хранить информацию в виде строки, но как преобразовывать строку в переменные?

С чего такие выводы?
Зачем как строку? как массив


 
Дата: Вторник, 04.03.2014, 19:51 |
Генерал-майор
Группа: Проверенные
Сообщений: 440
Награды: 0
Репутация: 14
Статус: Offline


Цитата likbezz, Вс, 02.03.2014, 21:31:45
С чего такие выводы?

С того что я так делал с локальными закладками на сайт.
Цитата likbezz, Вс, 02.03.2014, 21:31:45
как массив

Это как получается?
Так?
Код
$arry[$arryname]=file_get_conntent('Файл с данными'); В файле данные подобного рода: (key=>value,key=>value);

Если нет то можно пример? Ибо пока у меня в уме только такая идея. Просто хранить txt файлы как знаю бессмысленно ибо их интерпретировать не будет =\

Добавлено (04.03.2014, 11:28)
---------------------------------------------
Вернее так:
Код
<?php
$a=file_get_conntent('Файл с данными');//Там данные типа 1,2,3^4,5,6
$b=explode("^", $a);
$c=explode(",",$b[0]);
echo $b[1].'<br>'.$c[1];
?>

Добавлено (04.03.2014, 19:51)
---------------------------------------------
А что если информацию хранить даже не в массивах а в классах? И там же делать предварительную обработку?

Сообщение отредактировал Koeshiro - Вторник, 04.03.2014, 11:56
 
Дата: Вторник, 04.03.2014, 21:51 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Koeshiro,
Цитата Koeshiro
Вернее так:

Ну да, типа того:

Код
$data=file_get_contents($basename);
$a=explode("\n",$data);
какие-то действия
$data=implode("\n",$cont);
file_put_contents($basename,$data);


каждый новый элемент массива с новой строки

Цитата Koeshiro, Вт, 04.03.2014, 19:51:05
А что если информацию хранить даже не в массивах а в классах?

В массивах быстрей


 
Дата: Среда, 05.03.2014, 21:33 |
Генерал-майор
Группа: Проверенные
Сообщений: 440
Награды: 0
Репутация: 14
Статус: Offline


О двоичный гуру! Прощу я помощи вновь!
Как всегда я не могу справиться сам...
Написал код:
Код
<?php
if($_GET['user']!=NULL){$username=$_GET['user'];}
if($_GET['pass']!=NULL){$userpass=$_GET['pass'];}
setcookie("uname","$username",time()+60*10*1000);
setcookie("upass","$userpass",time()+60*10*1000);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="windows-1251"/>
<title>admin</title>
<script>
function mycoookie()
    {
     var uname=document.getElementById('uname');
     var upass=document.getElementById('upass');
     document.cookie='"username":"'+uname+'";"pas":"'+upass+'"';
     alert(document.cookie);
    }
</script>
</head>
<body>
<h1>admin</h1>
<form action="admin.php">
<input name="user" type="text" id="uname" />
<input name="pass" type="password" id="upass" />
<input type="submit" />
</form>

<?php
echo $_COOKIE['uname'];
echo $_COOKIE['upass'];
?>
</body>
</html>

По сути он должен получать данные из формы, сохранять их в куки на сервере и выводить полученные значения из куки. Всё вроде бы работает.. Однако без подобной конструкции ?user=koeshiro&pass=555 После двух обновлений страницы данные просто исчезают... Учитывая что я указывал 10 минут такого быть не должно, не так быстро... Что я делаю не так учитель?


Сообщение отредактировал Koeshiro - Среда, 05.03.2014, 21:35
 
Дата: Среда, 05.03.2014, 22:26 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Koeshiro,
Цитата Koeshiro, Ср, 05.03.2014, 21:33:29
Однако без подобной конструкции ?user=koeshiro&pass=555 После двух обновлений страницы данные просто исчезают...

Потому что ты пишешь пустую, сразу же.. не ужели не видишь?
Вот так:
Код
<?php
if(isset($_GET['user']) && isset($_GET['pass']) && $_GET['user']!='' && $_GET['pass']!=''){
setcookie('uname',$_GET['user'],time()+60*10*1000);
setcookie('upass',$_GET['pass'],time()+60*10*1000);
};
?>    

<?php
echo $_COOKIE['uname'];
echo $_COOKIE['upass'];
?>


В догонку:
http://static.likbezz.rus/.test/base/base.php


 
Дата: Четверг, 06.03.2014, 12:52 |
Генерал-майор
Группа: Проверенные
Сообщений: 440
Награды: 0
Репутация: 14
Статус: Offline


Вот спасибо.
Код
$_GET['user']!=''
Не подумал что это может быть пустая строка.... Спасибо =)

Добавлено (06.03.2014, 09:38)
---------------------------------------------
Цитата likbezz, Ср, 05.03.2014, 22:26:30
В догонку:
☑ http://static.likbezz.rus/.test/base/base.php

Это изменяемая база данных?

Добавлено (06.03.2014, 12:52)
---------------------------------------------
Теперь у меня появился вопрос ... У меня стоит Денвер. . . . И каждый раз когда я подключаю файл и вывожу его на экран то у меня появляется 1-ка в конце документа...
Код
<?php
if(isset($_GET['user']) && isset($_GET['pass']) && $_GET['user']!='' && $_GET['pass']!=''){   
setcookie('uname',$_GET['user'],time()+60*10*1000);   
setcookie('upass',$_GET['pass'],time()+60*10*1000);   
};   
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="windows-1251"/>
<title>admin</title>
</head>
<body>
<h1>admin</h1>

<?php
$uname=$_COOKIE['uname'];
$upass=$_COOKIE['upass'];
$base=file_get_contents("G:\home\localhost\www\base.txt");
$basearry=explode("/n",$base);
foreach($basearry as $key => $val)
{
   $firstUserArry=explode(",",$val);
   $usersArry[$firstUserArry[0]]=$firstUserArry;
}
if($usersArry[$uname][2]=='admin')
{
   if($usersArry[$uname][1]==555){
    $file=include('G:\home\localhost\www\Codelobster2.html');
    echo '<style>.log_form{display:none;}</style>';
    echo $file;
   }
   else echo 'bad password';
}
else{echo '
<form action="admin.php" class="log_form">
<input name="user" type="text" id="uname" />
<input name="pass" type="password" id="upass" />
<input type="submit" />
</form>
';}
?>

</body>
</html>

Документ что я писал.
Код

<!DOCTYPE html>
<html><head>
<meta charset="windows-1251">
<title>admin</title>
</head>
<body>
<h1>admin</h1>

<title></title>
<meta content="">
<style>
textarea{width:500px;height:500px;}
input{width:500px;}
</style>

<center></center>
<form id="form1" action="http://localhost/Codelobster4.php">
   <p><input name="filename" type="text" value="Имя">
   <br><br>
   <textarea name="filebody">Тело Элемента</textarea><br></p>
   <p><input type="submit" value="Подача запроса"></p>
  </form>
   

<style>.log_form{display:none;}</style>1

</body></html>
То что получил браузер ... С чем это связано? Как от этого избавиться?


Сообщение отредактировал Koeshiro - Четверг, 06.03.2014, 13:07
 
Дата: Четверг, 06.03.2014, 20:11 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Koeshiro,
Цитата Koeshiro, Чт, 06.03.2014, 12:52:01
И каждый раз когда я подключаю файл и вывожу его на экран то у меня появляется 1-ка в конце документа...

Что выводится?

Цитата Koeshiro, Чт, 06.03.2014, 12:52:01
Это изменяемая база данных?

Да


 
Дата: Четверг, 06.03.2014, 22:23 |
Генерал-майор
Группа: Проверенные
Сообщений: 440
Награды: 0
Репутация: 14
Статус: Offline


Выводит с самого начала сам документ что был подключен, затем и 1 ку как текст выводит, почему, зачем не понимаю....

 
Дата: Четверг, 06.03.2014, 22:37 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Koeshiro,
Цитата Koeshiro, Чт, 06.03.2014, 22:23:00
Выводит с самого начала сам документ что был подключен, затем и 1 ку как текст выводит, почему, зачем не понимаю....

Я вообще плохо понял о чем ты.. но файл так не подключают:
Код
$file=include('G:\home\localhost\www\Codelobster2.html');

а если и подключают, то так не выводят:
Код
echo $file;


Вот так:
Код
   if($usersArry[$uname][1]==555){
     include('G:\home\localhost\www\Codelobster2.html');
     echo '<style>.log_form{display:none;}</style>';
    }


И попробуй пересохранить без bom


 
Дата: Пятница, 07.03.2014, 10:51 |
Генерал-майор
Группа: Проверенные
Сообщений: 440
Награды: 0
Репутация: 14
Статус: Offline


Цитата likbezz, Чт, 06.03.2014, 22:37:39
а если и подключают, то так не выводят:

Понял. Спасибо =) Я так понимаю 1-ка там выполняла функцию значения true? Если да то всё понятно. Большое вам спасибо. От вас можно узнать больше чем из учебника, да и из видео всяких...


 
Дата: Пятница, 07.03.2014, 20:49 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Koeshiro,
Цитата Koeshiro
1-ка там выполняла функцию значения true?

Типа того.
Так как echo предназначено для вывода строки. А include - это метод.
И присваивание переменной метода, да еще потом и вывод его через echo .. я уж не знаю что он там выводил, но уж точно не содержание подключенного файла.

Если уж и надо присвоить переменной содержание внешнего файла, то в виде строки, типа:
Код
$file=file_get_contents('G:\home\localhost\www\Codelobster2.html');

и тогда можно вывести как
Код
echo $file;


 
Дата: Вторник, 25.03.2014, 15:11 |
Генерал-майор
Группа: Проверенные
Сообщений: 440
Награды: 0
Репутация: 14
Статус: Offline


Привет. Сегодня мне вновь придёться вернуться к вопросам по js Заказчики просили сделать панельку для добавления штампов на их сайт http://xatpa.ru/ используя средства uCoz и свою некоторую магию. Магией оказался код работающий проверяя передаваемый ему тест
Код
<script type="text/javascript">
function sold_or_no(yes,e){
  if(yes.indexOf('м')!=-1||yes.indexOf('М')!=-1){e.style.width="100px";}
   
  if(yes.indexOf('б')!=-1||yes.indexOf('Б')!=-1){e.style.left=10+'px';e.style.width="200px";}
   
  if(yes.indexOf('д')!=-1||yes.indexOf('Д')!=-1){
  if(yes.indexOf('б')!=-1||yes.indexOf('Б')!=-1){e.style.bottom=150+'px';}  
  else{e.style.bottom=70+'px';}
  }
  else{
  if(yes.indexOf('Э')!=-1||yes.indexOf('э')!=-1)
  {
  e.src="http://xatpa.ru/images/ehkskljuzivno.png";
  if(yes.indexOf('б')!=-1||yes.indexOf('Б')!=-1)
  {e.style.bottom=150+'px';}  
  else{e.style.bottom=70+'px';}
  }
   
  if(yes.indexOf('с')!=-1||yes.indexOf('С')!=-1)
  {
  e.src="http://xatpa.ru/images/sr_yel_s.png";
  if(yes.indexOf('б')!=-1||yes.indexOf('Б')!=-1)
  {e.style.bottom=150+'px';}  
  else{e.style.bottom=70+'px';}
  }
   
  if(yes.indexOf('П')!=-1||yes.indexOf('п')!=-1)
  {
  e.src="http://xatpa.ru/images/prov_green-s-.png";
  if(yes.indexOf('б')!=-1||yes.indexOf('Б')!=-1)
  {e.style.bottom=150+'px';}  
  else{e.style.bottom=70+'px';}
  }
   
  }
}
</script>
Вот так он выглядит сейчас. Всё просто и ясно, получаем указания, получаем картинку, обрабатываем выводим в верх картинку с ссылкой на нужный штамп всё хорошо если бы не одно НО... Заказчик возжелал сделать больше штампов. А если код сильно изменить то всё что было до этого не будет работать... По этому решил чуть ли не наговнакодить...
Цитата
<script type="text/javascript">
function sold_or_no(yes,e){
if(yes.indexOf('м')!=-1||yes.indexOf('М')!=-1){e.style.width="100px";}

if(yes.indexOf('б')!=-1||yes.indexOf('Б')!=-1){e.style.width="180px";}

if(yes.indexOf('д')!=-1||yes.indexOf('Д')!=-1){
if(yes.indexOf('д<')!=-1||yes.indexOf('Д<')!=-1){e.style.left=10+'px';}
if(yes.indexOf('д>')!=-1||yes.indexOf('Д>')!=-1){e.style.right=10+'px';}
if(yes.indexOf('б')!=-1||yes.indexOf('Б')!=-1){e.style.bottom=150+'px';}
else{e.style.bottom=70+'px';}
}
else{
if(yes.indexOf('Э')!=-1||yes.indexOf('э')!=-1){
if(yes.indexOf('э<')!=-1||yes.indexOf('Э<')!=-1){e.style.left=10+'px';}
if(yes.indexOf('э>')!=-1||yes.indexOf('Э>')!=-1){e.style.right=10+'px';}
if(yes.indexOf('б')!=-1||yes.indexOf('Б')!=-1){e.style.bottom=150+'px';}
else{e.style.bottom=70+'px';}
e.src="http://xatpa.ru/images/ehkskljuzivno.png";
}

if(yes.indexOf('с')!=-1||yes.indexOf('С')!=-1)
{
e.src="http://xatpa.ru/images/sr_yel_s.png";
if(yes.indexOf('б')!=-1||yes.indexOf('Б')!=-1)
{e.style.bottom=150+'px';}
else{e.style.bottom=70+'px';}
}

if(yes.indexOf('П')!=-1||yes.indexOf('п')!=-1)
{
e.src="http://xatpa.ru/images/prov_green-s-.png";
if(yes.indexOf('б')!=-1||yes.indexOf('Б')!=-1)
{e.style.bottom=150+'px';}
else{e.style.bottom=70+'px';}
}

if(yes.indexOf('v')!=-1||yes.indexOf('V')!=-1){
if(yes.indexOf('v<')!=-1||yes.indexOf('V<')!=-1){var e_style='left:'+10+'px';}
if(yes.indexOf('v>')!=-1||yes.indexOf('V>')!=-1){var e_style='right:'+10+'px';}
if(yes.indexOf('б')!=-1||yes.indexOf('Б')!=-1){var e_s_bottom=150+'px';}
else{var e_s_bottom=150+'px';}
var i=0;
if(i<1){i++;
var a=e.parentNode.innerHTML+'<img src="http://xatpa.ru/images/vip.png" style="width:100px;position:relative;bottom:'+e_s_bottom+'; '+e_style+'" />';
e.parentNode.innerHTML=a; }
}
}
}

</script>
<div class="my-sold-or-not-sold-car" style="width:235px;height:185px;overflow:hidden;float:left;">
<a href="C:\Users\user\Desktop\Codelobster2.html" class="ulightbox"><img src='http://forum.rentaki.ru/public/style_images/rentaki/background1.png' alt="" align="left" width="230px" height="180px" style="margin-right: 5px; border: 3px groove rgb(30, 144, 255);"></a>
<div style="position:relative; bottom :1000%;left:120px;-webkit-transition: bottom 1s ease-out 0.5s;-moz-transition: bottom 1s ease-out 0.5s;-o-transition: bottom 1s ease-out 0.5s;transition: bottom 1s ease-out 0.5s;">
<img src="http://xatpa.ru/prodano.png" style="width:100px;" onload="sold_or_no('v>',this);" align="left" ></div>
</div>

Но в чём собственно проблема? Проблема в том что при добавлении ещё одной картинки код выполняется вновь.... Почему? Не знаю я вызываю его лишь раз при загрузке событие одноразовое, но результат на лицо, новой картинкой всё запоститься до бесконечности в низ... Прошу учитель! Скажите в чём проблема! Спасибо вам заранее.


 
Дата: Вторник, 25.03.2014, 20:42 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Koeshiro,
Цитата Koeshiro, Вт, 25.03.2014, 15:11:05
Сегодня мне вновь придёться вернуться к вопросам по js Заказчики просили сделать панельку для добавления штампов на их сайт http://xatpa.ru/ используя средства uCoz и свою некоторую магию. Магией оказался код работающий проверяя передаваемый ему тест

Я не понял смысл кода.
Работающий вариант есть?
Второй - НЕ работающий.

ps
про .toLowerCase() слышал?
Код
var yes=yes.toLowerCase();
if(yes.indexOf('м')!=-1){e.style.width="100px";}


 
Дата: Среда, 26.03.2014, 15:36 |
Генерал-майор
Группа: Проверенные
Сообщений: 440
Награды: 0
Репутация: 14
Статус: Offline


Цитата likbezz, Вт, 25.03.2014, 20:42:13
ps
про .toLowerCase() слышал?

До этого нет, спасибо, код сделаю меньше =)
Цитата likbezz, Вт, 25.03.2014, 20:42:13
Работающий вариант есть?

Первый работает.
Цитата likbezz, Вт, 25.03.2014, 20:42:13
Я не понял смысл кода

Клиент просил сделать возможность добавлять штампы картинками. Я написал функцию что получает строку вида: да(продано) б(Большая картинка) и т д.
Сравнивается всё это дело и выводит нужную картинку. При этом скрипт выполняется несколько раз на странице, по разу на блок. Но возникла проблема. До этого была одна картинка которая изменялась по мере надобности, но клиент возжелал сразу две а изменять сильно код я не могу(Принцип его работы) ибо придёться все новости изменять под новый скрипт что не приемлемо. . . По этому решил наговнакодить и просто добавить новое сравнение после которого добавляется новая картинка в родительский элемент. Но почему-то скрипт вызывается бесконечное число раз.


 
Дата: Пятница, 28.03.2014, 00:15 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Koeshiro,
Цитата Koeshiro, Ср, 26.03.2014, 15:36:53
Но почему-то скрипт вызывается бесконечное число раз.

Почему “почему-то”?
Это-то как раз понятно.
Код
<img src="http://xatpa.ru/prodano.png" style="width:100px;" onload="sold_or_no('v>',this);" align="left" >

Событие на onload картинки а вы ее меняете - событие повторяется .. с каждой интерацией функции

Вот так:
Код
<img id="imgId" src="http://xatpa.ru/prodano.png" style="width:100px;" align="left" ></div>
<script type="text/javascript">
sold_or_no('v>', document.getElementById('imgId'));
</script>

---

Прикрепления: kod.txt (14.6 Kb)

 
Скрипты и коды для юкоз - Форум аццкого кодера » Раздел для начинающих » Если вы пришли за помощью, то Вам сюда... » Вопросы для доброго дяди, от Koeshiro (Не плохо?)
Поиск:


Мобильная версия