Simon
-
Posts
115 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Posts posted by Simon
-
-
работа exessqd1 возвращает 404. Файл не найден. Спасибо, все сурсы сохранил себе а ребята молодцы
-
красавцы ребята
-
-
пересмотрел ещё раз ваш код, он там не весь похоже, короче я не понял как он работает, если честно. Хочу задать пару наводящих вопросов
1. MyClass что делает, какая его задача? Почему он наследник MYSQLConnect?
2. такая конструкция
private function dbdata() {
$dbhost = "x";
$dbuser = "x";
$dbpass = "x";
$dbtable = "x";
return $data = array( $dbhost, $dbuser, $dbpass, $dbtable );
}не вижу необходимости в такой многословности (или многострочности).
если оставлять такое решение (метод, только возвращающий инициализированные в нём же переменные, что тоже считаю спорным решением) то уж проще написать:
private function dbdata() {
return $data = array('x', 'x', 'x', 'x');
}а более красивым мне кажется решение вынести конфигурацию подключения в конфиг.файл (если такого нет, советую создать, -- ещё пригодиться, хранить все настройки в одном месте), в виде констант например, я так делаю. или ещё вариант - инициализировать переменные с данными для коннекта в начале класса.
Class MYSQLConnect {
private $dbhost = "x";
private $dbuser = "x";
private $dbpass = "x";
private $dbtable = "x";
function __constract()
{
// и так далее3. к стыду своему, работаю по старинке с просто mysql, поэтому не в курсе всего функционала mysqli, но может стоит добавить в ваш класс функций которые будут предоставлять данные в удобном виде, заодно обрабатывая возможные ошибки.
1. MyClass содержит ввод и вывод данных. К примеру, стоит задача сделать систему комментариев. В этом классе введенные сообщения из формы обрабатываются и вводятся в базу, так же и вывожу комментарии.
Для работы с базой, каждому методу надо подключать коннект к базе, тут я и решил создать отдельный класс и вызывать его с $db=parent::_construct();. На данный момент поместил этот класс в отдельный файл и где необходимо делаю инклуд.
2. У меня появились трудности с отдельный конфиг.файлом. Случай такой был когда файл который выводит те же комментарии вставлял инклудом в файл фулл.нюз то некоторые методы класса выводились в этом файле (нюз.фулл) , и тут надо было приписать один путь к кофиг файлу, а этому же методу для обработки других действий как бы приходилось писать другой путь..как-то так... .... иии я тут сильно запутался иии забил)) (н3 если ты поймешь)
Но сейчас я этот класс в отдельный файл закинул и вызываю его когда он необходим.
3. Посмотрим что можно сделать.
Спасибо.
-
это вы сами класс писали? я бы в коде пару мест подкорректировал.
ошибку рода Call to a member function on a non-object выдаёт в случае если вызывается метод или объект для переменной, которая не принадлежит к классу.
я + php.net. По поводу класса выслушаю любые предложения, это пойдет мне на пользу.
но кавычки не экранируются в базеВ базе и не должны. Экранирование нужно именно для строки запроса, чтобы данные не мешались с управляющими элементами. Идеально (местами аж слишком) тема разжевана здесь (на примере MySQL, но в других СУБД принцип тот же).
понял, спасибо
-
http://forum.htmlbook.ru/index.php?showtopic=28502
такой класс для подключения использую.
да и если бы функция не работала то не выдавало бы ошибку такого рода:
Fatal error: Call to a member function real_escape_string() on a non-object?
-
$result = $db->query( "INSERT INTO `comments` VALUES (NULL,'" . $db->real_escape_string( $this->datacomment[ 1 ] ) . "', '" . $db->real_escape_string( $this->datacomment[ 0 ] ) . "', 0, '" . $db->real_escape_string( $this->datacomment[ 2 ] ) . "', CURDATE(), '" . $db->real_escape_string( $this->datacomment[ 3 ] ) . "')" ) or die( $db->error );
Есть такой обычный инсерт в базу. При запросе данные добавляются но кавычки не экранируются в базе. При выводе этого инсерта сообщение о ошибке не выдается. Это так надо или чего-то не так делается
-
-
Не верите? Могу показать.
Конечно хочу
-
а как CMS можно взять Drupal? а то этот siteedit какой-то стремный
-
$db = parent::__construct();воот так сделал и заработало
-
ужас, этот браузер где-то еще используется? и вообще заказчик представляет себе что это такое (ие5)?
Есть люди с ие2 и просто ие.
ага, еще скажите ие 0.5 beta
-
Class MYSQLConnect {
public function __construct() {
return $this->dbconnect();
}
private function dbdata() {
$dbhost = "x";
$dbuser = "x";
$dbpass = "x";
$dbtable = "x";
return $data = array( $dbhost, $dbuser, $dbpass, $dbtable );
}
protected function dbconnect() {
$_data = $this->dbdata();
$db = new mysqli( $_data[0], $_data[1], $_data[2], $_data[3] );
if ( mysqli_connect_errno ( ) ) {
printf( "Connection failed: %s\n", mysqli_connect_error() );
exit();
}
return $db;
}
}
Class MyClass extends MYSQLConnect{
function __construct() {
parent::__construct();
$result = $db->query('SELECT * FROM comments_reputation');
$count = $result->num_rows;
echo $r['idreputation'];
}
}
$myclass = new MyClass();не знаю, правильно или нет но мне выдает ошибку
Fatal error: Call to a member function query() on a non-object in Z:\home\localhost\www\test.php on line 36
как можно это исправить? ((
до этого использовал
include(connect.php);
$db = new mysqli(...);и приходилось данную такое использовать в каждом методе с разными директориями но это создает проблемы ((
-
Я так понял вы дали не реальный пример, ваш сабмит идет на сервер $.ajax запросом?
почти реальный..., да с аяксом , с маркером так и не разобрался
Скажите мне пожалуйста, как вы додумались на событие клик вешать ещё одно событие? Форма у вас в документе изначально, возьмите и повесьте сразу на неё сабмит, а в момент нажатия просто показывайте её.
Да точно, вы правы. Я чет упустил то что в диве где находится форма есть уникальный класс и думал что если будет в не открытой форме то могу получить не те данные...т.к. у меня больше форм и я хотел уточнить что именно с этой что бы извлекались данные
-
Не давайте нажимать больше одного раза, просто заблокируйте кнопку после нажатия.
ага пробовал чет с унбинд но у меня больше форм , и при открытии другой старой опять должен присвоить бинд %) и не получается прикрутить обратно
-
написал такой код...при нажатии на Клик , открывается форма, заполняем и сабмитим..все норм...НО
если нажать больше раз на "Click..." то после сабмита формы алерт появится столько раз сколько мы нажмем на "Click"..как исправить данную траблу? ((
-
заказал ие5 только для одного макета.
ужас, этот браузер где-то еще используется? и вообще заказчик представляет себе что это такое (ие5)?
-
а еще в мануале "Питер Ловэйн - Объектно-ориентированное программирование на PHP 5", автор как пример для учения создает галерею с чтением изображений из папки, объясняет красиво и с каждой новой главой модернизирует ее
-
-
хмм пишем на пхп и для каждого раздела создаем отдельную страничку?? ... хмм как-то не правильно
-
проблему решил ((
Если пишу
if ($rowNum > 0) { ... };то ничего не выдает... а если
if ($rowNum == 1) { ... };то все нормально н3 в чем разница
Ошибочка(( Оба варианта работают
п.с. устал, домой хочу (( пятница
-
Помогите
$rowNum = $result->num_rows; не хочет работать ((
public function authorization($_email, $_pass) {
include ("config.php");
$db = new mysqli($dbhost, $dbuser, $dbpass, $dbtable);
$result = $db->query("SELECT md5(key_salt) as hash from `users` WHERE `uemail` = 'admin@localhost.com'");
$rowNum = $result->num_rows;
exit($rowNum);
$db->close();
}Если ставлю
$row = $result->fetch_array();
exit ($row['hash']);то значение присваивается и выводит результат ((
-
почему бы не сделать как-то так:
$(document).ready(function(){
var name_pic = $("#pic").attr("alt");
$("#black_side").click(
function () {
$.ajax({
type: "POST",
url: "add_choice.php", /*Здесь я обращаюсь ещё к одному php файлу, не думаю, что как-то влияет*/
data: "name="+name_pic,
success: function(data){ /* В случае успеха хочу выполнить out_pic(), которая и вызовет php файл*/
$("#pic").attr("src",data);
}
});
return false;
}
);
});и в этом файле add_choice.php взять название картинки и вернуть и заменить на то что есть
-
а как насчет в документ change.js добавить:
$(document).ready(function(){
$("#black_side").click(function(){
...
});
});
Proxy Authentication Required - 407
in JavaScript
Posted · Edited by Simon
День добрый,
Пытаюсь с помощью $.ajax взять время с другого сайта.
в результате ничего не происходит, при этом через TemperData в мозиле получаю статус 407. Интернет идет через прокси. На сайте можно через json, пробовал через $.getJson но результат тот-же.
Update: —————————————--
упс, прочитал тему ниже, с dataType: "jsonp" заработало
п.с. а ведь просил что бы была возможность удалять свои сообщения, не делают