Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

Открыть новую тему     Написать ответ в эту тему

zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Цитата:
переменная может автоматом создаваться из $_GET, но это такая дыра..

 
И это путь ,

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 23:37 22-03-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
И это путь

опасный, так нельзя делать, неправильно.

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 23:37 22-03-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
опасный, так нельзя делать, неправильно.

 
Я в "Localhost", нет опасности  
 


Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 23:39 22-03-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Я в "Localhost", нет опасности  

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

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 23:41 22-03-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня есть эта функция PHP для проверки, если URL-адрес и онлайн или офлайн
 
Как я могу запустить его после нажатия на кнопку «Отправить»?  
 

Код:
 
 
<?php
function check_url($url) {
  $headers = @get_headers($url);
  $headers = (is_array($headers)) ? implode("\n", $headers) : $headers;
  return (bool)preg_match('#^HTTP/.*\s+[(200|301|302)]+\s#i', $headers);
}
?>
 
 
<div class="container mt-5">
<form action="funzionecheckurl.php" method="POST">
  <div class="form-group row">
    <label for="colFormLabel" class="col-sm-2 col-form-label">Url</label>
    <div class="col-sm-6">
    <input type="text" class="form-control" name="checkurl" aria-describedby="emailHelp" placeholder="Enter url">
    <small id="emailHelp" class="form-text text-muted">url is online or offline</small>
  </div>
  </div>
  <button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
 
 
<?php  
 
$url = $_POST['checkurl'];
 
if (check_url($url)){
  echo $url ."<br>Link online";
}else{
  echo $url . "<br>Broken Link";
}
 
?>
 
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 13:40 23-03-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Как я могу запустить его после нажатия на кнопку «Отправить»

я не понимаю вашего вопроса.
обрабатывайте как любые POST формы, делов то..
 
https://html.form.guide/php-form/php-form-post/

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 02:55 24-03-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
я не понимаю вашего вопроса.

 
Код PHP был выполнен перед нажатием кнопки «Отправить»
Я исправил так
Отдельный код на 2 страницах,
«Форма» и функция
Добавлены сеансы
 
это было добавлено  
 

Код:
if(empty($url))

 
funzione.php
 

Код:
 
 
<?php  
$url = $_POST['checkurl'];
 
if(empty($url))
{
  echo $_SESSION['messaggio']= '<br><span class="badge badge-warning">Attenzione!! devi inserire un url.</span>';
}
elseif(check_url($url)){
  echo $_SESSION['messaggio']=    
  '<a href="'.$url.'" class="link-success">Success link</a>'
  . '<br><span class="badge badge-success">Link online</span>';
}else{
  echo $_SESSION['messaggio']=  $url . '<br><span class="badge badge-danger">Broken Link or Cloudflare</span>';
}
 
 
 
?>
 
 


Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 15:06 24-03-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Этот код работает, показывая флаг, связанный со строкой массива
 
   
 

Код:
 
 
$country = array('ru','it','cz','jp','ch');
 
$string=implode(",", $country);
 
$tmp_arr = explode(',', $string);
foreach($tmp_arr as $var)
{
     
    echo '<br>';
   echo  flagMaster::emojiFlag($var);  
}
 
 

 
 
 
Что я хотел бы изменить это
 

Цитата:
$country = array('Russian',Italian','Czech','Japan','Chinese');
 

Это потому, что в базе данных и хранится так  
 
Но функция «emojiFlag» принимает только 2 буквы
 
так что вы должны преобразовать
пример:
 
Russian
 
таким образом
 
ru
 
Я также хотел бы связать имя, хранящееся в базе данных с каждым флагом  
 
Аналогичная вещь
 
   

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 12:17 27-03-2022 | Исправлено: zagorisback, 12:18 27-03-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это работает со строкой
 
   
 
 
Но с 2 не работает  
 
   
 
Я не понимаю, я использовал implode
 
 

Код:
$string=implode(",", $nationality);

 
 

Код:
 
<?php
$nationality= array($row['nationality']);
 
$string=implode(",", $nationality);
 
// ckeck array
echo '<br>';
var_dump ($nationality);
echo '<br>';
//
 
$tmp_arr = explode(',', $string);
foreach($tmp_arr as $var)
{
    // Extract the first 2 characters in arrays and convert to lowercase in PHP  
    $txt = strtolower( substr( $var, 0, 2 ) );
     
     
    echo '<br>';
   echo flagMaster::emojiFlag($txt).' '.$var;  
}
    }  
     
?>
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 14:35 27-03-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback
хватит флудить. и проблем с флагами обсуждали уже.

Цитата:
$string=implode(",", $nationality);

зачем, для чего? задайте себе, сначала, этот вопрос.
 

Цитата:
$nationality= array($row['nationality']);
 
$string=implode(",", $nationality);

в базе хранится строка.. массив возможно только для json формата столбца (сомневаюсь, что он есть).
 
так зачем тут array() и потом implode??
 

Цитата:
$tmp_arr = explode(',', $string);

да потому, что там пробел после запятой, млин..  
strtolower( substr( trim($var), 0, 2 ) );
 
как же утомительно, когда не пытаетесь думать.

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 22:33 27-03-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Спасибо, но я уже зафиксировал сегодня  

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 22:53 27-03-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
но я уже зафиксировал сегодня

тогда не спрашивайте сразу на форуме. посидите и подумайте.

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 23:03 27-03-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Как проверить, если аккаунт и приостановлен в Twitter с PHP?
 

 
это не работает
 

Код:
<?php
 
$urlf = $row ['twitter'];
$urlg = 'https://twitter.com/'. $urlf;
$page2 = file_get_contents($urlg, false, stream_context_create($arrContextOptions));
 
if(strpos($page2, 'User has been suspended') !==false || strpos($page2, 'User has been suspended') !==false)
{
    echo '&#128274; Account suspended' .current(array_reverse(explode('/',$urlg)));
}
else
{
    echo 'These tweets are visible';
    
    
}
 
?>

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 12:59 08-04-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
это не работает

посмотреть что возвращается в $page2 и уже исходить из этого.
я не знаю что там, не знаю как выглядит страница подобного аккаунта.

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 22:54 08-04-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
 
В составленном не мною коде есть вот такая строка:
 
  $query = mysqli_query($db, "SELECT `value` FROM `rating` WHERE `ident` = '".$id."' and `user_id` = '".$user_id."'");
 
 
В таблице есть столбцы ident, user_id и value, причем в них только числа.
 
Не пойму, что означают точки вокруг переменных  ".$id." и ".$user_id." ?

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 16:22 12-07-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
Не пойму, что означают точки вокруг переменных  ".$id." и ".$user_id."  

основы языка https://ru.hexlet.io/courses/php-basics/lessons/strings/theory_unit
читать раздел "Конкатенация"

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 17:49 12-07-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Соединение строк в РНР с помощью точек мне знакомо, но здесь, в запросе, как бы соединять-то нечего... Вот это и смутило. И получается, что в данном случае эти точки просто лишние? Я подумал, что, может быть, есть какие-то требования именно к запросам?
 
Я бы написал запрос так:
 
 $query = mysqli_query($db, "SELECT `value` FROM `rating` WHERE `ident` = '$id' and `user_id` = '$user_id' ");
Так корректно?
 
(РНР 5.6)
 
 

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 18:04 13-07-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
в запросе, как бы соединять-то нечего.

как нечего? строку и значения.

Цитата:
И получается, что в данном случае эти точки просто лишние?

нет, идет образование одной строки из частей, объединение в одну строку - запрос.
 

Цитата:
Так корректно?

да, но если $id и $user_id числовые и это точно, то и одинарные кавычки не нужны.
просто бытует поверье (это логично, но на одинарной строке роли не играет), что обработка "" с переменными внутри занимает чуть больше времени. можно проверить в большом цикле, но.. лень..
https://stackoverflow.com/questions/4871065/what-is-faster-in-php-single-or-double-quotes
https://jonczyk.me/2016/10/08/phpyths-buster-single-quotes-faster-double-quotes/
в современном языке все больше оптимизировано.
 
но, на самом деле, как кому удобнее и понятнее.
 

Цитата:
РНР 5.6

давно уже пора переходить на 7, и даже на 8 версию.

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 19:07 13-07-2022 | Исправлено: Mavrikii, 19:18 13-07-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
давно уже пора переходить на 7, и даже на 8 версию.
Я семерку попробовал, чуть с ума не сошел:  диагностики никакой, если что-то не работает, то вообще белый экран. Разобраться, конечно, можно, но порог входа на семерку явно повыше, чем на более ранние версии.
 
Реальной выгоды от 7 можно вообще не заметить, а у меня большой задел модулей на 5.6, переделывать которые без острой нужды не хочется.
 
Хостер Бегет говорит, что у него 70% сайтов работает на пятой версии, поэтому и  я решил не гнаться за прогрессом.  

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 19:31 13-07-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
чуть с ума не сошел:  диагностики никакой, если что-то не работает, то вообще белый экран.

включаете отображение ошибок на момент разработки и все.
это не порог, это просто настройки по умолчанию.

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 19:53 13-07-2022
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru