PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (8): « 1 2 3 4 5 [6] 7 8 »
Найдено сообщений: 107
imediasun2
Отправлено: 27 Января, 2013 - 23:09:39 • Тема: метод GET • Форум: Вопросы новичков
Ответов: 3 Просмотров: 150
Здравствуйте всем, я в файле обработчике имею $_GET['maker'], как мне его автоматически передать без использования ссылок в основной файл?
imediasun2
Отправлено: 27 Января, 2013 - 13:14:12 • Тема: динамический <select> марка авто - модель • Форум: Вопросы новичков
Ответов: 0 Просмотров: 605
Почему возникает ошибка 500 Internal Server Error
Прокоментируйте пожалуйста как можно подробнее этот код, как переделать эти селекты чтобы появлялся еще инпут в котором будут по умолчанию зависимые данные от модели, спасибо большое за участие в вопросе
PHP:
скопировать код в буфер обмена
<?PHP
require_once ( $_SERVER [ 'DOCUMENT_ROOT' ] . '/action/config.php' ) ;
if ( isset ( $_GET [ 'marka' ] ) ) { $marka = $_SESSION [ 'marka' ] = intval ( $_GET [ 'marka' ] ) ; $res = sql( 'SELECT * FROM ' . db_prefix. 'model WHERE marka=' . $marka . ' ORDER by name' ) ;
/* todo if(mysql_num_rows($res)>1) */ echo '<option value=0 selected>Выберите модель</option>' ;
echo "<option value='" . $row [ 'id' ] . "'>" . $row [ 'name' ] . "</option>\n " ;
} elseif ( isset ( $_GET [ 'model' ] ) ) { $id_model = intval ( param
( 'model' ) ) ; $res = sql( 'SELECT * FROM ' . db_prefix. 'model WHERE id=' . $id_model . ' LIMIT 1' ) ;
$model = $row [ 'name' ] ;
$id_marka = intval ( $row [ 'marka' ] ) ; $res = sql( 'SELECT * FROM ' . db_prefix. 'marka WHERE id=' . $id_marka . ' LIMIT 1' ) ;
$marka = $row [ 'name' ] ;
$product = intval ( $row [ 'product' ] ) ; }
$script =@ $_SERVER [ 'SCRIPT_URL' ] ; if ( ! $script ) $script =@ $_SERVER [ 'REQUEST_URI' ] ;
$_SESSION [ 'marka' ] = $_SESSION [ 'model' ] = 0 ;
$_SESSION [ 'product' ] = 1 ;
?>
CODE (
html ):
скопировать код в буфер обмена
<table border = "0" cellspacing = "0" cellpadding = "5" align = "center" >
<td colspan = "3" class = "blank" >
<tr >
<td id = "markat" > Марка ТС
<td ><select style = "WIDTH: 200px; height:21" name = "marka" id = "marka" onLoad = 'this.focus = false;'
onChange = "getObj('model').disabled=''; ajaxLoad('model', '<?=$script?> ?marka='+this.options[this.selectedIndex].value, '','','');">
<option value = 0 selected> Выберите марку</ option >
PHP:
скопировать код в буфер обмена
<?
$res = sql( 'SELECT * FROM ' . db_prefix. 'marka WHERE product=1 ORDER by name' ) ;
echo "<option value='" . $row [ 'id' ] . "'>" . $row [ 'name' ] . "</option>\n " ;
?>
CODE (
html ):
скопировать код в буфер обмена
</ select >
<tr >
<td colspan = "3" class = "blank" >
<tr >
<td id = "modelt" > Модель ТС
<td ><select style = "WIDTH: 200px; height:21" name = "model" id = "model" <?= ( @$marka?'' :'disabled="disabled"' ) ?>
onChange="ajaxLoad('info', '<?= $script?> ?model='+this.options[this.selectedIndex].value, '','','');" >
<option value selected disabled = "disabled" > Выберите модель</ option >
</ select >
</ table >
<div id = "info" ></ div >
CODE (
javascript ):
скопировать код в буфер обмена
<script language = JavaScript><!--
function getObj( objID)
{
if ( document.getElementById ) { return document.getElementById ( objID) ; }
else if ( document.all ) { return document.all [ objID] ; }
else if ( document.layers ) { return document.layers [ objID] ; }
}
function ajaxLoad( obj, url, defMessage, post, callback) {
var ajaxObj;
if ( defMessage) document.getElementById ( obj) .innerHTML = defMessage;
if ( window.XMLHttpRequest ) {
ajaxObj = new XMLHttpRequest( ) ;
} else if ( window.ActiveXObject ) {
ajaxObj = new ActiveXObject( "Microsoft.XMLHTTP" ) ;
} else {
return ;
}
ajaxObj.open ( ( post? 'POST' : 'GET' ) , url) ;
if ( post&& ajaxObj.setRequestHeader )
ajaxObj.setRequestHeader ( "Content-Type" , "application/x-www-form-urlencoded; charset=windows-1251;" ) ;
ajaxObj.onreadystatechange = ajaxCallBack( obj, ajaxObj, ( callback? callback: null ) ) ;
ajaxObj.send ( post) ;
return false ;
}
function updateObj( obj, data, bold, blink) {
if ( bold) data= data.bold ( ) ;
if ( blink) data= data.blink ( ) ;
document.getElementById ( obj) .innerHTML = data; // упрощенный вариант, работает не во всех браузерах
}
function ajaxCallBack( obj, ajaxObj, callback) {
return function ( ) {
if ( ajaxObj.readyState == 4) {
if ( callback) if ( ! callback( obj, ajaxObj) ) return ;
if ( ajaxObj.status == 200)
updateObj( obj, ajaxObj.responseText ) ;
else updateObj( obj, ajaxObj.status + ' ' + ajaxObj.statusText , 1, 1) ;
}
} }
//--></script>
config.php
PHP:
скопировать код в буфер обмена
<?PHP
// указываем параметры для подключения к MySQL
$host = 'v315803.freehost.com.ua' ; // имя хоста
$database = 'proflifter' ; // имя базы данных
$user = 'proflifter' ; // заданное вами имя пользователя
$pswd = 'proflifter' ; // заданный вами пароль
// подключаемся к MySQL
$dbh = mysql_connect ( $host , $user , $pswd ) or
die ( "Не могу соединиться с MySQL." ) ;
function sql( $query ) {
if ( ! $res ) die ( "Запрос:\n " . $query . "\n " ) ; return $res ;
}
?>
imediasun2
Отправлено: 26 Января, 2013 - 14:13:59 • Тема: при подключении файла не выводит сообщение об ошибке • Форум: Вопросы новичков
Ответов: 1 Просмотров: 285
Есть файл который содержит в себе форму отправки сообщения и action функцию mail, если этот файл запускать сам по себе все работает, а если он подключен к другому файлу через include, то не выводятся сообщения об ошибке и не работает header
PHP:
скопировать код в буфер обмена
<?
include ( '../blocks/bd.php' ) ;
if ( isset ( $_GET [ 'id_product' ] ) ) { $id_product = $_GET [ 'id_product' ] ;
$sql_products = "SELECT * FROM products WHERE id_product=$id_product " ;
?>
<? function show_form( )
{
?>
<form action="" method="post">
<input class="input2" name="name" type="text" size="20">
<input type="hidden" name="title" value="<? echo $row_products [ 'name_product' ] ; ?> "
<input class="input2" type="submit" name="submit" value="Отправить данные"/>
</form>
<?
}
}
}
else echo "no id_product" ;
function complete_mail( ) {
// $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменных $_POST['mess'], $_POST['name'], $_POST['tel'], $_POST['email'] все аналогично
// если не заполнено поле "Имя" - показываем ошибку 0
output_err( 0) ;
}
// если неправильно заполнено поле email - показываем ошибку 1
if ( ! preg_match ( "/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i" , $email ) ) { output_err( 1) ;
}
// если не заполнено поле "Сообщение" - показываем ошибку 2
output_err( 2) ;
}
// создаем наше сообщение
$message = "Товар:$title <br/>Имя отправителя:$name <br />Контактный телефон:$phone <br />Контактный email:$email <br /><p>$mess </p><br />" ;
// $to - кому отправляем
$to = 'webmaster@imedia.in.ua' ;
// $from - от кого
$from = 'webmaster@imedia.in.ua' ;
$headers = "MIME-Version: 1.0\r \n " ;
$headers .= "Content-Transfer-Encoding: 8bit\r \n " ;
$headers .= "Content-Type: text/html; charset=\" UTF-8\" \r \n " ;
$headers .= "From: =?utf-8?B?" . base64_encode ( "Web Master" ) . "?= '" . $to . "'\r \n " ; $subject = "Потенциальный заказчик" ;
echo "Спасибо! Ваше письмо отправлено.<br />" ;
return true ;
} else {
echo "Общая ошибка отправки сообщения<br />Попробуйте ещё раз" ;
return false ;
}
}
function output_err( $num )
{
$err [ 0 ] = 'ОШИБКА! Не введено имя.' ;
$err [ 1 ] = 'ОШИБКА! Неверно введен e-mail.' ;
$err [ 2 ] = 'ОШИБКА! Не введено сообщение.' ;
echo '<p>' . $err [ $num ] . '</p>' ;
show_form( ) ;
}
if ( isset ( $_POST [ 'submit' ] ) ) { if ( ! complete_mail( ) ) {
show_form( ) ;
}
else
header ( 'Location:../index.php' ) ; } else {
show_form( ) ;
}
?>
imediasun2
Отправлено: 25 Января, 2013 - 19:37:41 • Тема: высота блока такая как и другого блока • Форум: Вопросы новичков
Ответов: 6 Просмотров: 180
а в чем соль собственно, я вообще не понимаю как оно работает нет никаких привязок
добавил пустой блок в контент и стиль по нему
Не работает, я так понял js там нужен только для увеличения сайдбара
imediasun2
Отправлено: 25 Января, 2013 - 18:32:04 • Тема: высота блока такая как и другого блока • Форум: Вопросы новичков
Ответов: 6 Просмотров: 180
высота сайдбара - авто, а высота контента должна быть всегда такая же как и сайд бара, там фон в контенте и он должен быть по высоте с постоянно раскрывающимся и увеличивающимся сайд баром
imediasun2
Отправлено: 25 Января, 2013 - 12:50:20 • Тема: mysql взаимозависимые <select> • Форум: Вопросы новичков
Ответов: 2 Просмотров: 166
Помогите пожалуйста, при выборе категории должны появляться соответствующие продукты, помогите найти ошибку
PHP:
скопировать код в буфер обмена
<?
require "../blocks/bd.php" ;
$sql_cat = "SELECT * FROM categories" ;
?>
<option value="<?= $row_cat [ 'id_cat' ] ; ?> "><?= $row_cat [ 'name_cat' ] ; ?> </option>
<?
}
?>
CODE (
javascript ):
скопировать код в буфер обмена
<script>
function selectProducts( ) {
var id_country = $( 'select[name="category"]' ) .val ( ) ;
if ( ! id_country) {
$( 'div[name="selectDataProducts"]' ) .html ( '' ) ;
} else {
$.ajax ( {
type : "POST" ,
url: "../action/ajax.base.php" ,
data: { action: 'showProductsForInsert' , id_cat: id_cat } ,
cache: false ,
success: function ( responce) { $( 'div[name="selectDataProducts"]' ) .html ( responce) ; }
} ) ;
} ;
} ;
</script>
ajax.base.php
PHP:
скопировать код в буфер обмена
<?PHP
# include data base
require "../blocks/bd.php" ;
switch ( $_POST [ 'action' ] ) {
case "showProductsForInsert" :
echo '<select size="1" name="products" >' ;
$rows = $DB -> select ( 'SELECT * FROM products WHERE id_cat=? ORDER BY id_product ASC' , $_POST [ 'id_cat' ] ) ;
foreach ( $rows as $numRow => $row ) {
echo '<option value="' . $row [ 'id_product' ] . '">' . $row [ 'name_product' ] . '</option>' ;
} ;
echo '</select>' ;
break ;
} ;
?>
imediasun2
Отправлено: 24 Января, 2013 - 12:44:36 • Тема: sql INSERT виснет страница • Форум: Вопросы новичков
Ответов: 7 Просмотров: 246
выше расположен блок сайдбара в котором тоже mysql запрос, если его убираю то страница уже не висит, но так и не появляется надпись данные успешно загружены хотя если убрать весь html, то надпись появляется, что это может быть, вот код сайдбара
PHP:
скопировать код в буфер обмена
<div id="left_side" style="margin-left:50%;left-500px;float:left;top:<? echo $empty2 ; ?> ">
<?
$sql_cat = "SELECT * FROM categories" ;
$sql_product = "SELECT * FROM products WHERE id_cat=" . $row_cat [ 'id_cat' ] ;
?>
<div class="box1" style="">
<h2><?= $row_cat [ 'name_cat' ] ; ?> <span class="expand">+</span></h2>
<ul>
<?
?>
<li><a href="admin_products.php?id_product=<?= $prod_name [ 'id_product' ] ; ?> "><?= $prod_name [ 'name_product' ] ; ?> </a></li>
<?
}
?>
</ul>
</div>
<?
}
?>
</div><!--left_side-->
imediasun2
Отправлено: 24 Января, 2013 - 12:03:13 • Тема: sql INSERT виснет страница • Форум: Вопросы новичков
Ответов: 7 Просмотров: 246
Здравствуйте виснет страница в загрузке, и не выводит сообщение о том что данные успешно загружены но данные в базу записываются, что может быть не так, спасибо
PHP:
скопировать код в буфер обмена
if ( isset ( $_POST [ 'submit1' ] ) ) { $name_cat = $_POST [ 'name_cat' ] ;
$allowed_filetypes = array ( '.jpg' , '.gif' , '.bmp' , '.png' ) ; // Здесь мы перечисляем допустимые типы файлов $max_filesize = 5242888 ; // Максимальный размер загружаемого файла в байтах (в данном случае он равен 0.5 Мб).
$upload_path = '../images/' ; // Место, куда будут загружаться файлы (в данном случае это папка 'files').
$filename = $_FILES [ 'userfile' ] [ 'name' ] ; // В переменную $filename заносим точное имя файла (включая расширение).
$file_with_path = $upload_path . $filename ;
$ext = substr ( $filename , strpos ( $filename , '.' ) , strlen ( $filename ) - 1
) ; // В переменную $ext заносим расширение загруженного файла.
// Сверяем полученное расширение со списком допутимых расширений, которые мы определили в самом начале. Если расширение загруженного файла не входит в список разрешенных, то прерываем выполнение программы и выдаем соответствующее сообщение.
die ( 'Данный тип файла не поддерживается.' ) ;
// Теперь проверим размер загруженного файла и если он больше максимально допустимого, то прерываем выполнение программы и выдаем сообщение.
if ( filesize ( $_FILES [ 'userfile' ] [ 'tmp_name' ] ) > $max_filesize ) die ( 'Фаил слишком большой.' ) ;
// Проверяем, доступна ли на запись папка, определенная нами под загрузку файлов (папка files). Если вдруг недоступна, то выдаем сообщение, что на папку нужно поставить права доступа 777.
die ( 'Невозможно загрузить фаил в папку. Установите права доступа - 777.' ) ;
// Загружаем фаил в указанную папку.
{
echo 'Ваш фаил успешно загружен <a href="' . $upload_path . $filename . '">смотреть</a>' ;
$sql_cat = "INSERT INTO categories (name_cat, photo_cat) VALUES ('$name_cat ','$file_with_path ')" ;
if ( $query_cat )
echo "Данные внесены успешно" ;
}
else
{
echo 'При загрузке возникли ошибки. Попробуйте ещё раз.' ;
}
}
?>
imediasun2
Отправлено: 21 Января, 2013 - 10:03:46 • Тема: динамическое создание mysql полей • Форум: Вопросы новичков
Ответов: 6 Просмотров: 394
Нашел вот такой скрипт, поможет ли он мне и как на стороне клиента все устроить?
PHP:
скопировать код в буфер обмена
$count = 1 ;
$numcols = $_POST [ 'cols' ] ;
while ( $numcols > 0) {
$count ++;
$numcols --;
}
$allcols = null ;
$newcounter = $_POST [ 'cols' ] ;
foreach ( $cols as $col ) { if ( $newcounter > 1) $allcols = $allcols . $col . ",\n " ;
else $allcols = $allcols . $col . "\n " ; $newcounter --; } ;
$query = "CREATE TABLE " . $fullname . " (\n " . $allcols . " )" ;
echo create_table( $query , $fullname , $dbname , $actualcols ) ;
?>
Как бы вы его отредактировали?
imediasun2
Отправлено: 20 Января, 2013 - 23:03:59 • Тема: динамическое создание mysql полей • Форум: Вопросы новичков
Ответов: 6 Просмотров: 394
а если надо, то что делать
PHP:
скопировать код в буфер обмена
public function buildDB( ) {
$sql = 'CREATE TABLE IF NOT EXISTS messages (
title VARCHAR(150),
bodytext TEXT,
created VARCHAR(100)
)' ;
}
Как вместо названий вставлять переменные и как формировать их колличество и типы данных, возможно ли это вообще , поделитесь пожалуйста знаниями и статьями, спасибо
imediasun2
Отправлено: 20 Января, 2013 - 22:51:13 • Тема: динамическое создание mysql полей • Форум: Вопросы новичков
Ответов: 6 Просмотров: 394
Требуется чтобы клиент создавал таблицу относящуюся к товару (например модель сойства)и в каждом конкретном случае количество полей в таблице будет различное, как это осуществить чтобы существовала добавить таблицу (количество полей) с клиентской стороны, добавлялось бы таблица в базу данных и выводилась бы информация при наличии у товара такой таблицы, помогите рассудить и спроектировать, тут наверное какие то SQL команды должны быть в зависимости от выбранных клиентом условий.
Страниц (8): « 1 2 3 4 5 [6] 7 8 »
Powered by ExBB FM 1.0 RC1. InvisionExBB