• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Запись данных в переменную

  • Автор темы dima_lamo
  • Дата начала
D

dima_lamo

Вообщем есть переменная $login
Цель: записать в неё то. что введу я, НО незаписывать лишнии символы.

Например я ввожу: 1234567890zasdftthjjj20e
А нужно записать только символы 1,2,3
То есть записатся должно только это: 1232


Подскажите как это реализовать! вот именно на моём примере
 
M

morpheus

ааа... подправте ка название темы... а то душевные терзаия выглядят слегка вульгарными :unsure:
 
M

maykoff

Я ж писал
Код:
$str	= $_POST['Login'];

$Login='';

for($i=0;$i<strlen($str);$i++)
if(preg_match("/^[123abc]$/",$str[$i]))
$Login.= $str[$i];

Смотри регулярные выражения
 
D

dima_lamo

То что выше не пашет, да и не то это...

Вот я придумал алгоритм...

нужно просто вводить данные в переменную $test после чего проверять по порядку каждый символ, анпример мне нужно чтоб в названии были только символы символы, это 1,2 или 3.
Скрипт должен будет в начале проеврить 1 символ который соджержится в переменной $test на наличие 1,2, или 3, если есть, записать в $login, потом второй символ который в $test, если что-то совпало-то что совпало записать. и так все символы. в резулитате в переменной $login будут лишь те символы, которые поподают под данное условие
 
A

Andrew Stephanoff

Регулярные выражения тебя спасут
 
D

dima_lamo

Вот пытался уже, нифига не спасли!

Блин народ, я прошу, помогите! я уже 9 часов тупо сижу у компа, мне нужно срочно этот скрипт! Я реально уже скоро головой АП стенку разбегусь...
 
M

MajestiC

Например я ввожу: 1234567890zasdftthjjj20e
А нужно записать только символы 1,2,3
То есть записатся должно только это: 1232

Ты определись, 123 или 1232.


Какая логика? Почему иммено символы 123? Самой задачи нет в твоем посте. Что нужно? Почему нужно?
 
D

dima_lamo

Я ж всё написал!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Читай первый пост в теме!

Нужно чтоб скрипт из имени записывал ТОЛЬКО символы 1,2 или3! А про другие просто забывал!
Например я ввожу: 1234567890zasdftthjjj20e (в этой строке много всякой фигни)
Но мне нужно только символы 1,2, или 3.
По этому должно получится: 1232 (я жирным выделил то что записалось!)
 
M

MajestiC

(тут типа 150 восклицательных знаков)

В начале поста хреново ты описал.

Код:
<?php

$sStr = '1234567890zasdftthjjj20e';

preg_match_all("/[123]/", $sStr, $aOut);
$sOut = isset($aOut[0]) ? implode('', $aOut[0]) : '';

echo $sOut;

?>

Говоришь регулярные выражения тебя не спасли?


Ты придумал алгоритм, так почему бы его не реализовать? По-моему он довольно простой.
Код:
<?php

$sStr = '1234567890zasdftthjjj20e1';
$aArr = array(1,2,3);
$sOut = '';

for ($i=0; $i<strlen($sStr); $i++)
{
if (in_array($sStr[$i], $aArr))
{
$sOut .= $sStr[$i];
}
}

echo $sOut;

?>
 
D

dima_lamo

хы... возможно и хреново описал...

Кстати, в какую переменную вписывать, и в какой вылавливать?(куда результат скрипта запишется?)
Если можешь, модифицируй, чтоб результатом был создоваемый файл. То есть все эти реобразования нужны для создания файла с определённым именем
 
M

MajestiC

Я понимаю, что у тебя специализация Delphi, но всё-таки в записать переменную в файл, я думаю ты сможешь сам, открыв мануал по пхп.

А насчет переменных, по-моему всё понятно из названий:
1. $sStr = входная строка.
2. $sOut = выходная строка.
 
D

dima_lamo

Хы, проссто я с 12 в рнр окунулся, туда, где нифига не понимаю, но сделать надо, хоть из под земли скрипт достать... вот и приходится... Просто я проект делаю, а там без делфи ну ни как... (у меня ща уже 20, и ещё вчера почти весь деь...)


Скинь мне в личку твою асю

Warning: fclose(): supplied argument is not a valid stream resource in Адрес сайта

Хы... я вот т ак прописываю...

<?php
$sStr = $_POST['sStr'];
$Domain = $_POST['Domain'];
$Pass = $_POST['Password'];
$sStr = '';
$aArr = array(1,2,3);
$sOut = '';

for ($i=0; $i<strlen($sStr); $i++)
{
if (in_array($sStr[$i], $aArr))
{
$sOut .= $sStr[$i];
}
}

echo $sOut;
$fp = fopen($sOut,"w+");
fwrite($fp,"$sOut");
fclose($fp);
?>

Это чтоб он создал файл, и записал ещё в него
 
D

dima_lamo

Хы, а как сюда приделать проверку на пароль? наприме сделать чтоб если в поле $pass ввести например 111222333, и любое продолжение, чтоб было верно, и скрипт сработал,в противном случае чтоб скрипт НЕ сработал
 
M

MajestiC

Вместо $sOut - имя файла.

Лучше fwrite($fp, $sOut);

<!--QuoteBegin-dima_lamo+14:01:2008, 20:14 -->
<span class="vbquote">(dima_lamo @ 14:01:2008, 20:14 )</span><!--QuoteEBegin-->Хы, а как сюда приделать проверку на пароль? наприме сделать чтоб если в поле $pass ввести например 111222333, и любое продолжение, чтоб было верно, и скрипт сработал,в противном случае чтоб скрипт НЕ сработал[/quote]

"IF" он и в PHP "IF"
 
D

dima_lamo

Хым... не мнеж надо из программы заполнять поля... то есть тоже самое что из формы

Data.AddFormField ('sStr ', 'text'); (эт код из делфи, именно от туда я заполняю поля формы, Жирным я выделил код формы, куда пойдёт текст)
Верно? именно в sStr нужно посылать данные??
 
D

dima_lamo

Блин, у меня вечно ошибки всякие... МОэжет кто соеденит это всё воедино...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!