kalistrat

Рейтинг
52
Регистрация
24.02.2013

Скажите есть ли товарная партнерка которая предоставляет ссылку на главную страницу? То есть где размещены все товары и пользователь может смотреть и искать то что нужно ему. Просто во всех сетях можно генерировать ссылку на какой то отдельный товар, а вот чтобы на главную страницу, не встречал. Вроде слышал что у "алиэкспресс" есть, но точно не знаю, а впустую регится неохота. Дайте пожалуйста ссылку на партнерку где можно отправлять посетителей на главную страницу со всеми с товарами, а не на какой то отдельный.

В мое старое сообщение не вставляется. Вот еще код validator.php, может там что нужно поправить?

<?php 


class Validator{

private $_field_data = array();
private $_error_messages = array();
private $_error_prefix = '<p>';
private $_error_suffix = '</p>';


function __construct(){

}


/**
* Установка полей валидации
*/
function set_rules($field, $label = '', $rules = ''){

//Нет POST данных
if (sizeof($_POST) == 0){

return;
}

//Если правила валидации переданы в виде массива
if(is_array($field)){

foreach ($field as $row){

//Если не установлено поле валидации или правила валидации,
//то пропускаем это поле
if ( ! isset($row['field']) OR ! isset($row['rules'])){

continue;
}

//Если название поля не передано используем имя поля
$label = ( ! isset($row['label'])) ? $row['field'] : $row['label'];


$this->set_rules($row['field'], $label, $row['rules']);
}
return;
}

//Правила валидации должны быть переданы в виде массива,
//а поле валидации строкой
if ( ! is_string($field) OR ! is_array($rules) OR $field == ''){

return;
}


//Если название поля не передано используем имя поля
$label = ($label == '') ? $field : $label;


$this->_field_data[$field] = array(
'field' => $field,
'label' => $label,
'rules' => $rules,
'postdata' => NULL,
'error' => ''
);
}



/**
* Валидация данных
*/
function run(){

//Нет POST данных
if (sizeof($_POST) == 0){

return FALSE;
}

//Если нет заданных полей для валидации
if(sizeof($this->_field_data) == 0){

return FALSE;
}


foreach ($this->_field_data as $field => $row){

//Получаем POST данные для установленных полей валидации
//if (isset($_POST[$field])){

$this->_field_data[$field]['postdata'] = (isset($_POST[$field]))? $_POST[$field]: NULL;

//Проверка правил валидации
$this->checkrule($row,$this->_field_data[$field]['postdata']);
//}
}


$total_errors = sizeof($this->_error_messages);

if($total_errors == 0){

return TRUE;
}

return FALSE;
}


/**
*
* Проверка правил валидации
*/
function checkrule($field,$postdata){

if(is_array($postdata)){

foreach($postdata as $key => $val){

$this->checkrule($field,$val);
}

return;
}

foreach($field['rules'] as $rule => $message){

$param = FALSE;

if (preg_match("/(.*?)\[(.*?)\]/", $rule, $match))
{
$rule = $match[1]; //Правило валидации
$param = $match[2]; //Параметры
}

//если это правило не входит с состав библиотеки
if(!method_exists($this, $rule)){

//то будем считать, что это стандартная функция PHP
//которая принимает только один входной параметр
if(function_exists($rule)){

$result = $rule($postdata);

//Если функция возвращает булевое значение (TRUR|FALSE),
//то мы не изменяем переданные POST данные, иначе записываем
//отформатированные данные
$postdata = (is_bool($result)) ? $postdata : $result;
$this->set_field_postdata($field['field'],$postdata);

continue;
}
}
else{

$result = $this->$rule($postdata,$param);
}


$postdata = (is_bool($result)) ? $postdata : $result;
$this->set_field_postdata($field['field'],$postdata);

//если данные не прошли валидацию
if($result === FALSE && $message != ''){

//Формируем сообщение об ошибке
$error = sprintf($message, $field['label']);

//Сохраняем сообщение об ошибке
$this->_field_data[$field['field']]['error'] = $error;

if ( ! isset($this->_error_messages[$field['field']])){

$this->_error_messages[$field['field']] = $error;
}

}

continue;
}

return;
}


/**
* Установка POST данных
*/
private function set_field_postdata($field,$postdata){

if(isset($this->_field_data[$field]['postdata'])){

$this->_field_data[$field]['postdata'] = $postdata;

}
}



/**
* Возвращает POST данные для нужного элемента
*/
function postdata($field){

if(isset($this->_field_data[$field]['postdata'])){

return $this->_field_data[$field]['postdata'];
}
else return FALSE;
}



/**
* Очищает все POST данные
*/
function reset_postdata(){

$this->_field_data = array();
}


/**
* Возвращает все сообщения об ошибках в виде строки
*/
function get_string_errors($prefix = '',$suffix = ''){


if (count($this->_error_messages) === 0){

return '';
}

if ($prefix == '')
{
$prefix = $this->_error_prefix;
}

if ($suffix == '')
{
$suffix = $this->_error_suffix;
}

// Формируем строку с ошибками
$str = '';
foreach ($this->_error_messages as $val)
{
if ($val != '')
{
$str .= $prefix.$val.$suffix."\n";
}
}

return $str;

}


/**
* Возвращает все сообщения об ошибках в виде строки
*/
function get_array_errors(){

return $this->_error_messages;
}


/**
* Возвращает сообщение об ошибка для указанного поля
* @param string
*/
function form_error($field){

if(isset($this->_error_messages[$field])){

return $this->_error_prefix.$this->_error_messages[$field].$this->_error_suffix;
}
else return FALSE;
}



function set_error_delimiters($prefix = '<p>', $suffix = '</p>')
{
$this->_error_prefix = $prefix;
$this->_error_suffix = $suffix;
}



/**
* Значение не может быть пустым
*
* @access public
* @param string
* @return bool
*/
function required($str)
{
if ( ! is_array($str))
{
return (trim($str) == '') ? FALSE : TRUE;
}
else
{
return ( ! empty($str));
}
}


/**
*
* Проверка поля на целое цисло
* @param string
*/
function integer($str){


return filter_var($str, FILTER_VALIDATE_INT);
}


/**
*
* Проверка поля на цисло c плавающей точкой
* @param string
*/
function float($str){


return filter_var($str, FILTER_VALIDATE_FLOAT);
}


/**
* Валидация URL
* @param string
*/
function valid_url($str){

return filter_var($str, FILTER_VALIDATE_URL);
}


/**
*
* Валидация email-адреса
* @param string
*/
function valid_email($str){


return filter_var($str, FILTER_VALIDATE_EMAIL);
}


/**
*
* Валидация IP-адреса
* @param string
*/
function valid_ip($str){


return filter_var($str, FILTER_VALIDATE_IP);
}


/**
* Match one field to another
*
* @access public
* @param string
* @param field
* @return bool
*/
function matches($str, $field)
{
if ( ! isset($_POST[$field]))
{
return FALSE;
}

$field = $_POST[$field];

return ($str !== $field) ? FALSE : TRUE;
}



/**
* Только буквы латинского алфавита
*
* @access public
* @param string
* @return bool
*/
function alpha($str)
{
return ( ! preg_match("/^([a-z])+$/i", $str)) ? FALSE : TRUE;
}



/**
* Проверка капчи
*
* @access public
* @param string
* @param string
* @return bool
*/
function valid_captcha($str,$name){

return (!empty($_SESSION[$name]) && $_SESSION[$name] == $str)? TRUE: FALSE;
}


/**
* Проверка даты
*
* @access public
* @param string
* @return bool
*/
function valid_date($str){

$stamp = strtotime( $str );

if (!is_numeric($stamp)){

return FALSE;
}

$month = date( 'm', $stamp );
$day = date( 'd', $stamp );
$year = date( 'Y', $stamp );

return checkdate($month, $day, $year);
}


function unique($str,$fields){

list($table,$field) = explode('.',$fields);

$result = mysql_query("SELECT COUNT(*) AS count FROM `".$table."` WHERE ".mysql_real_escape_string($field)."='".mysql_real_escape_string($str)."'");

$myrow = mysql_fetch_assoc($result);

return $myrow['count'] == 0;

}
}

?>
Sitealert:
Берёте Вашу форму и правите её ручками.

А, и так можно )) А что конкретно там нужно подправить? Я скачал ее с одного сайта. Там два основных файла index.php и validator.php. Ниже код из index.php , подскажите, может здесь что нужно исправить?

<?php 


session_start();

//error_reporting(E_ALL);
//ini_set('display_errors', 'On');

require_once 'validator.php';

$validator = new Validator();

$validator->set_error_delimiters('<div class="error">', '</div>');

//Задаем правила валидации
$rules = array(
array(
'field' => 'user_name',
'label' => 'Ваше имя',
'rules' => array(
'trim' => '', //Обрезаем пробелы по бокам
'strip_tags' => '', // Удаляем HTML и PHP теги
'required' => 'Поле %s обязательно для заполнения'
)
),
array(
'field' => 'user_email',
'label' => 'Ваш e-mail адрес',
'rules' => array(
'trim' => '',
'required' => 'Поле %s обязательно для заполнения',
'valid_email' => 'Поле %s должно содержать правильный email-адрес'
)
),
array(
'field' => 'user_url',
'label' => 'URL адрес сайта',
'rules' => array(
'trim' => '',
'valid_url' => 'Поле %s должно содержать правильный URL адрес'
)
),
array(
'field' => 'subject',
'label' => 'Тема письма',
'rules' => array(
'trim' => '', //Обрезаем пробелы по бокам
'strip_tags' => '', // Удаляем HTML и PHP теги
'required' => 'Поле %s обязательно для заполнения'
)
),
array(
'field' => 'text',
'label' => 'Текст сообщения',
'rules' => array(
'trim' => '', //Обрезаем пробелы по бокам
'strip_tags' => '', // Удаляем HTML и PHP теги
'required' => 'Поле %s обязательно для заполнения'
)
),
array(
'field' => 'keystring',
'label' => 'Капча',
'rules' => array(
'trim' => '', //Обрезаем пробелы по бокам
'required' => 'Вы не ввели цифры изображенные на картинке',
'valid_captcha[keystring]' => 'Вы ввели не правильный цифры с картинки'
)
)
);

//Устанавливаем правила валидации
$validator->set_rules($rules);
$message = '';

//Запускаем валидацию POST данных
if($validator->run()){

//Здесь впишите свой e-mail адрес
//на негу будут приходить уведомления с формы
$to = 'mitafols@gmail.com';

$from = "=?UTF-8?b?" . base64_encode($validator->postdata('user_name')) . "?=";
$subject = "=?UTF-8?b?" . base64_encode( $validator->postdata('subject') ) . "?=";

$mail_body = "Поступил новый ответ от формы обратной связи.\r\nАвтор оставил такие данные:\r\n";

//Формируем текст сообщения
foreach($rules as $rule){
if($rule['field'] == 'keystring') continue;
$mail_body .= $rule['label'].': '.$validator->postdata($rule['field'])."\r\n";
}

$header = "MIME-Version: 1.0\n";
$header .= "Content-Type: text/plain; charset=UTF-8\n";
$header .= "From: ". $from . " <" . $validator->postdata('user_email'). ">";

//Отправка сообщения
if(mail($to, $subject, $mail_body, $header)){

$message = '<div class="error">Ваше сообщение успешно отправлено!</div>';

//Очищаем форму обратной связи
$validator->reset_postdata();
}
else{

$message = '<div class="error">Ваше сообщение не отправлено!</div>';
}
}
else{

//Получаем сообщения об ошибках в виде строки
$message = $validator->get_string_errors();

//Получаем сообщения об ошибках в виде массива
$errors = $validator->get_array_errors();

}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Форма обратной связи для сайта с капчей</title>

<style type="text/css">
<!--
body {
font: 100% Verdana, Arial, Helvetica, sans-serif;
background: #666666;
margin: 0;
padding: 0;
text-align: center;
color: #000000;
}
.oneColFixCtrHdr #container {
width: 780px;
background: #FFFFFF;
margin: 15px auto;
border: 1px solid #000000;
text-align: left;
}
.oneColFixCtrHdr #mainContent {
padding: 0 20px;
background: #FFFFFF;
position: relative;
}
.oneColFixCtrHdr #footer {
padding: 0 10px;
background:#DDDDDD;
}
.oneColFixCtrHdr #footer p {
margin: 0;
padding: 10px 0;
}


form.form{
width: 600px;
margin: 0 auto;
}

form.form div {
padding:4px;
margin: 4px 0;
position:relative;
}

form.form input.text,
.textarea {
padding:5px 10px;
height:20px;
border:1px solid #ddd;
color:#333;
background:url(images/bginput.jpg) repeat-x bottom #fff;
position:relative;
z-index:2;
font-size: 16px;
}

form.form input.text {
width:290px;
}

form.form .textarea {
height:150px;
width:290px;
}

form.form label {
float:left;
width:120px;
text-align:right;
margin-right:15px;
font-weight:bold;
color:#666;
font-size: 13px;
}

form.form .btn {
display:block;
height:31px;
padding:0 10px;
background:url(images/bgbtn.jpg) repeat-x;
color:#565e62;
font-weight:bold;
font-size:12px;
border:1px solid #e1e0df;
outline:none;
cursor: pointer;
}

/* CSS3 */
form.form .btn,
form.form .text,
form.form .textarea {
-moz-border-radius:8px;
-webkit-border-radius:8px;
border-radius:8px;
}


div.error_field{
background: #FEDAFB;
border: 1px solid #FA74F0;
}

div.errors{
width: 580px;
margin: 15px auto;
padding: 10px;
border: 1px solid #ccc;
background: #FDFEC2;
}

div.errors .error{
color: red;
font-weight: bold;
font-size: 12px;
margin: 5px;
}


-->
</style>
</head>
<body class="oneColFixCtrHdr">

<div id="container">

<div id="mainContent">

<?=(!empty($message))? '<div class="errors">'.$message.'</div>': ''?>
<form action="" method="post" class="form">
<div <?=(!empty($errors['user_name']))? 'class="error_field"': '';?>>
<label>Ваше имя:</label>
<input type="text" class = "text" name="user_name" value="<?=$validator->postdata('user_name');?>" />
</div>

<div <?=(!empty($errors['user_email']))? 'class="error_field"': '';?>>
<label>Ваш e-mail адрес:</label>
<input type="text" class = "text" name="user_email" value="<?=$validator->postdata('user_email');?>" />
</div>

<div <?=(!empty($errors['user_url']))? 'class="error_field"': '';?>>
<label>URL адрес сайта:</label>
<input type="text" class = "text" name="user_url" value="<?=$validator->postdata('user_url');?>" />
</div>

<div <?=(!empty($errors['subject']))? 'class="error_field"': '';?>>
<label>Тема письма:</label>
<input type="text" class = "text" name="subject" value="<?=$validator->postdata('subject');?>"/>
</div>

<div class="area<?=(!empty($errors['text']))? ' error_field': '';?>">
<label>Текст сообщения:</label>
<textarea cols="40" class = "textarea" rows="5" name="text"><?=$validator->postdata('text');?></textarea>
</div>

<div <?=(!empty($errors['keystring']))? 'class="error_field"': '';?>>
<label class="captcha">Введите цифры изображенные на картинке:</label>
<div class="capth_images"><?php require 'captcha.php';?></div>
<input type="text" class = "text" name="keystring" value=""/>
</div>

<div>
<label>&nbsp;</label>
<input type="submit" class="btn" value="Отправить сообщение" />
</div>


</form>

</div>


</div>
</body>
</html>
sergv:
Дело не в хостинге, а в настройках. Ваша почта отправляется от имени ящика, который введен в поле "Ваш email". Уже давно это неправильно, т.к. фактически Ваш сервер отправляет почту якобы с адреса vasya@mail.ru, на что никто разрешения не давал.

Нужно правильно настроить ДНС-записи, дать разрешение серверу отправлять почту с одного конкретного адреса и с него отправлять, а данные из поля "Ваш e-mail" передавать внутри письма.

p.s. уже не первая тема на форуме.

Понятно, то есть то что я и предпологал, нужен платный хостинг.

Aisamiery:
Не знаю как яху, но майл ввел жесткую политику и прописал в DMARC реджектить все письма что идут от его имени, но не с его серверов. То есть вы не можете отправить сообщение от имени pupkin@mail.ru со своего сервера, не один почтовик не примет его, а сразу удалит как спам.

Понятно, что то подобное мне и приходило в голову. Просто если человек впишет в форме обратной связи "ваш емэйл" pupkin@mail.ru, то мне на почтовый ящик придет письмо именно от этого электронного адреса. А вы не можете посоветовать форму обратной связи, которая при отправке не будет подставлять контактный емэйл адрес юзера? Я знаю сайт где можно скачать множество подобных форм, но просто я тестирую на бесплатном хостинге, а там ужасно работают фтп и файловый менеджер, один небольшой файлик может грузится 15 минут, но зато форма работает без сбоев и спокойно отправляет.

Lastwarrior:
Дело в хостинге, скорее всего, который блокирует спам на популярные почтовые системы таким вот способом.

А вы не знаете, может есть какой аналог бесплатного хостига 000webhost? Просто как я написал выше тестирую именно на нем, но там кошмарно медленная загрузка файлов, зато все работает. Или может есть платный хостинг где можно протестировать, на котором включена функция mail ? У меня есть впс на котором работает превосходно сайт, но там дешевый тариф и отключена функция mail, поэтому тестировать не могу.

Justas22:
2.5 месяца это совсем мало, можно сказать у вас сайт ещё в пелёнках, минимум пол года ждите какой то результат, а то и год

Странно, как то общался с овнерами одной п.п, они говорят что как раз 2 - 3 месяца у ихних вебмастеров уходит на то что бы пошел трафик на новом сайте. Видимо правда, тут все от везения зависит.

SEOxakep:
Сколько времени прошло от начала работы?

Статьи закончил размещать где то месяц назад, сейчас мониторю его сайты на появление новых, 3 недели назад закончил размещение ссылок в профилях, но их я самостоятельно выискивал проверяя тиц и открытие в роботсе, 3 дня назад разместил посты на внутренние страницы сайта во вконтакте и заказал по 10 лайков и репостов на каждый (тоже смотрел на другие примеры). Вообще сайту 2,5 месяца.

kittenAA:
kalistrat, вам же пишут, что пофигу на ваш полезный/уникальный текст, если у вас нет позиций - если никто не читает! (в мире полно гениев, но т.к. их не продвиагют или они сами себя - они так и не реализуют свой потенциал, так и наоборот полно хитрецов, которые выдают себя за гениев и зарабатывают деньги на воздухе)

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

ps видимо опять перечитали советы от райтеров, вот и занимаетесь ерундой!

Внешней оптимизацией тоже занимаюсь, я писал об этом, анализировал свои неработающие сайты, которые мне когда то прогоняли на платной основе, а также сайты того чела, так вот 95% ссылок у всех идут с профилей форумов. Я уже разместил там где мне прогоняли и где размещал успешный чел + собрал свою чистую базу форумов с тиц от 20 до 1500. Не знаю положительно это или нет, сегодня мой сайт тоже получил тиц +10 и яндекс Rank 2 из 6. Но лучше бы конечно чтобы пошел трафик ))

SergejF:
Нужно менять стратегию. Вы исходите из неверного предположения, что рерайт успешного сайта обязан принести Вам сопоставимые с ним результаты. Это ошибка. Рерайтом Вы, скорее всего, значительно ухудшаете информационную значимость материала и подучаете достойные (=низкие) позиции в выдаче.

Приветствую, вы видимо невнимательно читали. Тот человек тоже делает сайты на копипасте, а я уже переписываю в третий раз, а может и больше, например на один свой сайт тот человек недавно выложил статьи, так вот половина была с уникальностью 72-75% - проверялось по адвего и етхт плагиату, тем не менее у него колеблется трафик от 350 до 800 человек в сутки. Я же в самом начале так и делал - заказывал сбор СЯ, далее написание по нему уникальных статей. Все тоже самое что и с рерайтом, индексируется отлично,но трафа нет.

Justas22:
а у вас домены случайно не дропы ?

Нет, домен не разу не использовался, специально проверял перед регистрацией.

Samba1982:
А чего вы хотите если у вас ху...а туча редиректов на партнерские сайты, вы проверяли партнерские сайты ? Может они под баном или АГС а вы Яндексу говорите что это моя страница, и еще очень важный момент, то что разрешено старичкам (доменам с возрастом) - может быть смертельным для молодых сайтов, так что удалите всю эту ху...ю с ваших сайтов, дайте немного постоять отдышатся (2-4 месяца), повесьте адсенс и развивайте понемножку, а когда сайтам будет лет по 5-7 вот тогда подумаете стоит ставить редирект на партнерки или нет, я думаю потом вы не будите этого делать.

Про 5 - 7 лет вы конечно загнули )) Никакого агс нет, все в порядке, в настоящее время индексация выглядит так:

http://imglink.ru/show-image.php?id=f622319eb9d898e57dd10320c9f3c55e

Что касается санкций:

http://imglink.ru/show-image.php?id=7d27e9ac4ea908d67b05bb99cc3c9c00

Всего: 84