Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2015, 16:13   #1
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию функции ...

Доброго времени суток !

Помогите мне разобраться с функциями окончательно ...

Вот у меня есть форма ввода текста и кнопка

Код:
<form action="" method="POST" >
<input type="text" name="text" />
<input type="submit" name="submit_ok" />
</form>
И есть функция
Код:
<?php
function input_text(){
Какой то сценарий;
}
?>
Вот как мне объединить форму ввода и функцию не как не могу понять
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 13.03.2015, 16:26   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

PHP код:
<?php
// определение функции
function input_text(){
    
var_dump($_POST); // какой то сценарий
}

// если пришли POST-данные из формы
if(!empty($_POST)){
    
input_text(); // вызов функции
}

// форма
?>
<form action="" method="POST" >
    <input type="text" name="text" />
    <input type="submit" name="submit_ok" />
</form>
Andkorol вне форума Ответить с цитированием
Старый 13.03.2015, 16:29   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

form.html
Код HTML:
<form action="form.php" method="post" >
<input type="text" name="text">
<input type="submit" name="submit_ok">
</form>
form.php
PHP код:
<?php
function input_text(){
  echo 
htmlspecialchars($_POST['text']);
}
if ( isset(
$_POST['text']) )
  
input_text();
else
  require 
'./form.html';
?>

Последний раз редактировалось Arigato; 13.03.2015 в 17:04.
Arigato вне форума Ответить с цитированием
Старый 13.03.2015, 16:36   #4
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Спасибо сейчас попробую все на примерах ... вроде понял ... бум практиковать

Всем кто помог разобраться большое спасибо !!!

Сделал так
создал файл index.php
Код:
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php include("./function.php"); ?>
</head>
<body>

<form action="" method="POST">
<input type="text" name="number" />
<input type="submit" name="ok" value="Отправить =)" />
</form>

<?php 
if(isset($_POST["number"])){
$number = $_POST["number"];
reg($number);
}
?>
</body>
</html>
и файл function.php
Код:
<?php

function reg($number){
$res = $number * $number;
echo $res;
return $res;
}

?>
и все заработало как надо . Еще раз спасибо за помощь моему пониманию =)

Еще один вопрос пытаюсь текст записать в БД и не получается вот как делаю

index.php
Код:
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php include("./function.php"); ?>
</head>
<body>

<form action="" method="POST">
<input type="text" name="text" />
<input type="submit" name="ok" value="Отправить =)" />
</form>

<?php 
if($_POST["text"]){
$text = $_POST["text"];
reg($text);
}
?>
</body>
</html>
function.php
Код:
<?php
include ("db_connect.php");

function reg($text){
$text_str = "INSERT INTO  text(text) VALUES ('$text')";
$result_str = mysql_query($text_str);
return $result_str;
}

?>
и в третьем файле db_connect.php лежит подключение к БД

Код:
<?php

mysql_connect("localhost", "testmysite", "testmysite") or die ("Не удалось подключится к базе данных . Ошибка => " . mysql_error());

mysql_select_db("testmysite") or die ("Не удалось подключится к таблице баз данных");

mysql_close();
?>
Хочу запрос в БД сделать именно через функцию .
"Я не волшебник, я только учусь"

Последний раз редактировалось Stilet; 14.03.2015 в 11:08.
s88s вне форума Ответить с цитированием
Старый 13.03.2015, 23:30   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от s88s Посмотреть сообщение
$text_str = "INSERT INTO text(text) VALUES ('$text')";
Запрос составлен неверно.
Синтаксис оператора INSERT
Правила составления запросов MySQL

В выделенном фрагменте отсутствует пробел.
Названия таблиц и полей нужно экранировать обратными кавычками – `table_name`, `field_name`.

Последний раз редактировалось Andkorol; 13.03.2015 в 23:45.
Andkorol вне форума Ответить с цитированием
Старый 14.03.2015, 15:21   #6
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

сделал так не помогло
$text_str = "INSERT INTO `text` (`text`) VALUES ('$text')";
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 14.03.2015, 15:42   #7
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Нужно проверять запрос и смотреть текст ошибки.
Поиск ошибок и отладка –> Быстрые рекомендации –> п.2

А, блин, ё-маё – только заметил! – у тебя в db_connect.php прописан вызов функции mysql_close()!
Т.е. ты соединение открыл, выбрал БД – и сразу же это соединение закрыл.
Ясное дело – ничего никуда записываться не будет, да и вообще никакие запросы не будут выполнены, ведь соединение закрыто.
Соединение обычно не нужно закрывать – оно закроется автоматически, по завершении выполнения скрипта.

P.S.: но изначально запрос всё равно был кривой – исправил ты его сейчас синтаксически правильно.

Последний раз редактировалось Stilet; 14.03.2015 в 16:22.
Andkorol вне форума Ответить с цитированием
Старый 14.03.2015, 17:01   #8
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Нужно проверять запрос и смотреть текст ошибки.
Поиск ошибок и отладка –> Быстрые рекомендации –> п.2

А, блин, ё-маё – только заметил! – у тебя в db_connect.php прописан вызов функции mysql_close()!
Т.е. ты соединение открыл, выбрал БД – и сразу же это соединение закрыл.
Ясное дело – ничего никуда записываться не будет, да и вообще никакие запросы не будут выполнены, ведь соединение закрыто.
Соединение обычно не нужно закрывать – оно закроется автоматически, по завершении выполнения скрипта.

P.S.: но изначально запрос всё равно был кривой – исправил ты его сейчас синтаксически правильно.
Спасибо большое у меня изначально были обратные кавычки я просто пробовал и так и сяк и не как ... закомментировал mysql_close() и все получилось ...
вопрос вот тогда какой когда лучше закрывать соединение mysql_close() ?
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 14.03.2015, 20:33   #9
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от s88s Посмотреть сообщение
когда лучше закрывать соединение mysql_close() ?
Я ж написал уже выше.
mysql_close:
Цитата:
В использовании mysql_close() обычно нет надобности для непостоянных соединений, т.к. они автоматически закрываются в конце скрипта.
Кстати, PHP-расширение MySQL считается устаревшим на данный момент.
Вместо него рекомендуют использовать расширения MySQLi или PDO_MySQL.
Поэтому, имеет смысл начинать изучение сразу с одного из этих рекомендуемых расширений – а не с заведомо устаревшего.
Andkorol вне форума Ответить с цитированием
Старый 15.03.2015, 01:15   #10
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Я ж написал уже выше.
mysql_close:
Кстати, PHP-расширение MySQL считается устаревшим на данный момент.
Вместо него рекомендуют использовать расширения MySQLi или PDO_MySQL.
Поэтому, имеет смысл начинать изучение сразу с одного из этих рекомендуемых расширений – а не с заведомо устаревшего.
Спасибо большое за ответы и советы
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функции в языке С. Передача параметров в функции. Создание многофайловых проектов fifaman Общие вопросы C/C++ 6 28.12.2014 15:30
Табулирование заданной функции и определение максимального и минимального значения функции в таблице Марина1986 C/C++ Сетевое программирование 0 07.05.2013 11:31
Использование подпрограммы-функции: Вычислить значение функции (Турбо паскаль) RealUnited Паскаль, Turbo Pascal, PascalABC.NET 1 05.12.2012 20:34
Построение графика функции, мигание(затухание) шарика в минимумах функции kas1m_rus Паскаль, Turbo Pascal, PascalABC.NET 0 27.05.2012 20:28
Как подменить адрес возврата функции func на адрес функции f используя переполнение буфера buf и функции gets dmitrii6120 Помощь студентам 6 14.11.2011 20:10