Айшшш, PHP програмърите..

contra

Well-Known Member
Имам един казус дето ми е леко извън сферата:
Обикновена контактна формичка, пращаща мейли. Вградена в страничка (къстъм WP page template от вида "contact.php" вътре в папката на темата). Като натисна Сенд, просто ме препраща в индекса на сайта. А трябва просто мазно (аякснато) да ми каже, че съобщението е пратено успешно и да си остане на същата страница.

Гледам, че има едно:
HTML:
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

Като дам echo на това $_SERVER['PHP_SELF'] ми показва точно индекса на сайта. Цялата концепция на сендването на мейли с PHP ми е чужда. Как да го оправя? :)

В момента малко ме мързи да се образовам, та викам чакай да пробвам къмюнитито.. Мерси предварително.
 
За да го направиш с AJAX ще е малко по-сложно... пробвай преди това да направиш action="", т.е. без нищо вътре и да видиш дали ще праща съобщения, без да те прехвърля към индекса. Ако работи - ще избацаме и едно съобщение да се показва над формата.
 
От: Айшшш, PHP програмърите..

Ай мамо, като махнах тва от ешъна и го оставих само "" и си тръгна :) :) :)
Голямо мерси, чакай да цвъкна зелено... :)

То си беше готово аякснато скриптчето - копнах от един пример от нета. Само дето не бачкаше и го гледам умно от 1 час.

Защо не му сложиш едно Contact Form 7 там - мазно, аякснато и прави точно каквото искаш. За 5 минути си готов.
Понеже крайната ми цел е да го направя под формата на уиджет - мини контактна формичка.
Пък и да има там един готов контакт темплейт за юзърите дето ги мързи да слагат Цонтакт Форм 7.
 
От: Айшшш, PHP програмърите..

Тествай дали ще ти прати поща като си пратиш сам съобщение защото може и да пише че работи ама да не работи :)
 
От: Айшшш, PHP програмърите..

Aaaa прати си мейлчето, всичко нормално.
 
От: Айшшш, PHP програмърите..

А сега ако ми кажете и някой интелигентен PHP editor дето има функцийката да ми подреди indent-ите (таковатата - nest-ването) на редовете (за да е красиво и четливо), цена нямате!

Че 1000+ реда код да му минавам логиката на всяка функцийка и да набивам ръчно интервалите не ме блазни в момента.. :(

ПС: Примерно Дриймуийвър прави това за ХТМЛ и ЦСС сорс, ама не и за ПХП.
 
От: Айшшш, PHP програмърите..

Мерси. Отворил съм го ама не намирам къде да цъкна, че да ми го подреди? :)

PS: Пробвах и два онлайн туула - не вършат читава работа
 
Последно редактирано:
От: Айшшш, PHP програмърите..

нотепад няма такава функция. Zend Studio имаше такава, забравих каква беше клавишната комбинация, но някъде из Edit/View менютата имаше опция auto-indent, май беше Ctrl-Shift + F ама не съм сигурен.
Иначе аз най си тача ApantaStudio 3, щото е безплатен, Zend-а е платен.
Apanta-та е страхотен редактор за php/html/css/js със ауто-филл, хелп и т.н и т.н.
Тъкмо я гледам че има опция format css (Ctrl+Shift+F), ама за пхп май няма такава функция.
 
От: Айшшш, PHP програмърите..

Опа, таман се сетих за по лесен вариант, ако не ти се инсталират големи приложения само за тази функция:
http://www.beautifyphp.com/

Наскоро ползвах подобен бютифайър за един минимизиран джаваскрипт.
 
От: Айшшш, PHP програмърите..

Мерси, тва свърши работата :)

Забърса ми и празните редове, ама не е голям кусур.
 
От: Айшшш, PHP програмърите..

notepad++ и отгоре избираш language>P>PHP
:D
 
От: Айшшш, PHP програмърите..

Пиша отново в темата тъй като някой ми даде негатив за горното ми мнение... като текста е: "чети по-внимателно кво се пита преди да даваш мъдри съвети"

Къде сгреших? Че не дадох точен път как да си нагласи всичко, а само как да го оцвети? За такива глупости ли се дава репутация?

Мерси. Отворил съм го ама не намирам къде да цъкна, че да ми го подреди? :)

PS: Пробвах и два онлайн туула - не вършат читава работа
 
Червената репутация с този коментар е от мен. Горното ти мнение е абсолютно безсмислено и не помага по никакъв начин на питащия. Той пита как да ПОДРЕДИ кода.
С пример, че да схванеш по-лесно - неподреден код като този:
PHP:
<?php require('includes/application_top.php');// the following cPath references come from application_top.php
 $category_depth='top';if(isset($cPath)&&tep_not_null($cPath)){$categories_products_query=tep_db_query("select count(*) as total from ".TABLE_PRODUCTS_TO_CATEGORIES." where categories_id = '".(int)$current_category_id."'");$cateqories_products=tep_db_fetch_array($categories_products_query);if($cateqories_products['total']>0){$category_depth='products';// display products
}else{$category_parent_query=tep_db_query("select count(*) as total from ".TABLE_CATEGORIES." where parent_id = '".(int)$current_category_id."'");$category_parent=tep_db_fetch_array($category_parent_query);if($category_parent['total']>0){$category_depth='nested';// navigate through the categories
}else{$category_depth='products';// category has no products, but display the 'no products' message
}}}require(DIR_WS_LANGUAGES.$language.'/'.FILENAME_DEFAULT);?>
Да стане:
PHP:
<?php    
  require('includes/application_top.php');

// the following cPath references come from application_top.php
  $category_depth = 'top';
  if (isset($cPath) && tep_not_null($cPath)) {
    $categories_products_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'");
    $cateqories_products = tep_db_fetch_array($categories_products_query);
    if ($cateqories_products['total'] > 0) {
      $category_depth = 'products'; // display products
    } else {
      $category_parent_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " where parent_id = '" . (int)$current_category_id . "'");
      $category_parent = tep_db_fetch_array($category_parent_query);
      if ($category_parent['total'] > 0) {
        $category_depth = 'nested'; // navigate through the categories
      } else {
        $category_depth = 'products'; // category has no products, but display the 'no products' message
      }
    }
  }

  require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_DEFAULT);
?>
Човека НЕ ПИТА как да си оцвети кода => мнението ти е излишно, спамерско, безполезно.
Като толкова ти е важна репутацията, следиш си я и повдигаш на въпрос защо си получил червена точка - давай смислени и полезни мнения и ще получаваш зелено.

P.S. Не е нужно да ми отговаряш, сложи ми червената точка за да ми го върнеш, та да ти мине и да приключваме с глупостите.
 
От: Айшшш, PHP програмърите..

Това ако не е oscommerce... :)
 
От: Айшшш, PHP програмърите..

Нов въпрос:

Знаете ли някое пхп скриптче - мейл контактна форма но с възможност за атачмънт на файлове.
Да речем същото като от първия ми проблем по темата, но с ъплоуд/атачмънт... Понеже едва ли ще мога просто да седна и да си допиша същото скриптче.

Ето пример (с което точно скриптче някакси не успявам да се справя):
http://www.php-development.ru/php-scripts/contact-form.php

ПС: Не става дума за WP така че плъгините не са вариант.
 
От: Айшшш, PHP програмърите..

Има един клас phpmailer безплатен е, лесно се употребява. Използва няколко метода за изпращане на имейли. Има добри примери и ползва добавяне на файлове.
 
От: Айшшш, PHP програмърите..

Мерси :) ,
ама вие и двамцата искате да ме направите малко повече PHP разбирач отколкото ми се иска в момента :)

Четох едно дъъълго ръководство за PHPMailer но така и не успях да стигна до правенето на самата формичка.

После намерих едно проста готова пхпмейлър формичка, която засега ми върши чудна работа:
http://designbyelle.com.au/journal/2008/04/23/php-mailer-form-with-file-attachment/
 

Горе