Mail.ru
Почта
Мой Мир
Одноклассники
ВКонтакте
Игры
Знакомства
Новости
Календарь
Облако
Заметки
Все проекты
Все проекты
выход
Регистрация
Вход
Категории
Все вопросы проекта
Компьютеры, Интернет
Темы для взрослых
Авто, Мото
Красота и Здоровье
Товары и Услуги
Бизнес, Финансы
Наука, Техника, Языки
Философия, Непознанное
Города и Страны
Образование
Фотография, Видеосъемка
Гороскопы, Магия, Гадания
Общество, Политика, СМИ
Юридическая консультация
Досуг, Развлечения
Путешествия, Туризм
Юмор
Еда, Кулинария
Работа, Карьера
О проектах Mail
Животные, Растения
Семья, Дом, Дети
Другое
Знакомства, Любовь, Отношения
Спорт
Золотой фонд
Искусство и Культура
Стиль, Мода, Звезды
Полный список
Спросить
Лидеры
Поиск по вопросам
Ответы Mail
Программирование
Android
C/C++
C#
iOS
Java
JavaScript
jQuery
SQL
Perl
PHP
Python
Веб-дизайн
Верстка, CSS, HTML, SVG
Системное администрирование
Другие языки и технологии
Вопросы - лидеры.
Чем Луа лучше Пайтона и наоборот? Буду использовать в целях написания сценариев.
1 ставка
Лидеры категории
Лена-пена
Искусственный Интеллект
М.И.
Искусственный Интеллект
Y.Nine
Искусственный Интеллект
•••
Почему у меня не записывается php сесия на телефоне ?
Egor
Профи
(719), на голосовании
3 года назад
Написал капчу для проверки на бота, но столкнулся с проблемой, когда вывел сайт на beget с ПК у меня прекрасно все работает а с телефона сессия не хочет записываться (куки включены).
ссылка:
http://egork14567.beget.tech
Скрипт:
<?php
session_start();
$_SESSION['count'] = time();
$image;
?>
<?php
$flag = 5;
global $input;
if (isset($_POST["flag"])) {
$input = $_POST["input"];
$flag = $_POST["flag"];
}
echo $input;
echo $_SESSION['captcha_string'];
if ($flag == 1) {
if ($input == $_SESSION['captcha_string']) {
?>
Ваш ответ верен!
<form action=" <?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<?php
} else {
?>
Ваш ответ неверен!
пожалуйста, попробуйте еще раз
<?php
create_image();
display();
}
} else {
create_image();
display();
}
function display()
{
?>
ВВЕДИТЕ ТЕКСТ, КОТОРЫЙ ВЫ ВИДИТЕ НА ИЗОБРАЖЕНИИ
Это просто для того, чтобы проверить, являетесь ли вы роботом
<img src="image<?php echo $_SESSION['count'] ?>.png">
<form action=" <?php echo $_SERVER['PHP_SELF']; ?>" method="POST"
/ >
<form action=" <?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<?php
}
function create_image()
{
global $image;
$image = imagecreatetruecolor(250, 125) or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($image, 40, 40, 40);
$text_color = imagecolorallocate($image, 255, 255, 255);
$line_color = imagecolorallocate($image, 94, 94, 94);
$pixel_color = imagecolorallocate($image, 94, 94, 94);
imagefilledrectangle($image, 0, 0, 250, 125, $background_color);
for ($i = 0; $i < 7; $i++) {
imageline($image, 0, rand() % 125, 250, rand() % 125, $line_color);
}
for ($i = 0; $i < 1000; $i++) {
imagesetpixel($image, rand() % 250, rand() % 125, $pixel_color);
}
$letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$len = strlen($letters);
$letter = $letters[rand(0, $len - 1)];
$x_position = rand(31, 35);
$text_color = imagecolorallocate($image, 255, 178, 0);
$font = realpath("mumbly.ttf");
for ($i = 0; $i < 6; $i++) {
$letter = $letters[rand(0, $len - 1)];
imagettftext($image, rand(35, 44), 0, $x_position, rand(44, 57), $text_color,$font , $letter);
$x_position += rand(28,38);
$word .= $letter;
}
$_SESSION['captcha_string'] = $word;
$images = glob("*.png");
foreach ($images as $image_to_delete) {
@unlink($image_to_delete);
}
imagepng($image, "image" . $_SESSION['count'] . ".png");
}
?>
Дополнен 3 года назад
*Ребят, во всем разобрался, ошибка в том что я обьявлял session_start() после html тега, а нужно было в самом начале.
Голосование за лучший ответ
Babaduk
Просветленный
(21048)
3 года назад
с ПК у меня прекрасно все работает а с телефона сессия не хочет записываться
смотри в телефоне настройки браузера
Babaduk
Просветленный (21048)
3 года назад
session_start();
этого достаточно чтоб писалась сессия
Danny Lee
Гуру
(4943)
3 года назад
Возможно, на бесплатном хостинге есть ограничения, связанные с установкой сессий для некоторых браузером.
Похожие вопросы
ссылка: http://egork14567.beget.tech
Скрипт:
<?php
session_start();
$_SESSION['count'] = time();
$image;
?>
<?php
$flag = 5;
global $input;
if (isset($_POST["flag"])) {
$input = $_POST["input"];
$flag = $_POST["flag"];
}
echo $input;
echo $_SESSION['captcha_string'];
if ($flag == 1) {
if ($input == $_SESSION['captcha_string']) {
?>
Ваш ответ верен!
<form action=" <?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<?php
} else {
?>
Ваш ответ неверен!
пожалуйста, попробуйте еще раз
<?php
create_image();
display();
}
} else {
create_image();
display();
}
function display()
{
?>
ВВЕДИТЕ ТЕКСТ, КОТОРЫЙ ВЫ ВИДИТЕ НА ИЗОБРАЖЕНИИ
Это просто для того, чтобы проверить, являетесь ли вы роботом
<img src="image<?php echo $_SESSION['count'] ?>.png">
<form action=" <?php echo $_SERVER['PHP_SELF']; ?>" method="POST"
/ >
<form action=" <?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<?php
}
function create_image()
{
global $image;
$image = imagecreatetruecolor(250, 125) or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($image, 40, 40, 40);
$text_color = imagecolorallocate($image, 255, 255, 255);
$line_color = imagecolorallocate($image, 94, 94, 94);
$pixel_color = imagecolorallocate($image, 94, 94, 94);
imagefilledrectangle($image, 0, 0, 250, 125, $background_color);
for ($i = 0; $i < 7; $i++) {
imageline($image, 0, rand() % 125, 250, rand() % 125, $line_color);
}
for ($i = 0; $i < 1000; $i++) {
imagesetpixel($image, rand() % 250, rand() % 125, $pixel_color);
}
$letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$len = strlen($letters);
$letter = $letters[rand(0, $len - 1)];
$x_position = rand(31, 35);
$text_color = imagecolorallocate($image, 255, 178, 0);
$font = realpath("mumbly.ttf");
for ($i = 0; $i < 6; $i++) {
$letter = $letters[rand(0, $len - 1)];
imagettftext($image, rand(35, 44), 0, $x_position, rand(44, 57), $text_color,$font , $letter);
$x_position += rand(28,38);
$word .= $letter;
}
$_SESSION['captcha_string'] = $word;
$images = glob("*.png");
foreach ($images as $image_to_delete) {
@unlink($image_to_delete);
}
imagepng($image, "image" . $_SESSION['count'] . ".png");
}
?>