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

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

dima_lamo

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

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


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

morpheus

скриптописец
07.08.2006
3 915
1
#2
ааа... подправте ка название темы... а то душевные терзаия выглядят слегка вульгарными :unsure:
 
M

maykoff

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

$Login='';

for($i=0;$i<strlen($str);$i++)
if(preg_match("/^[123abc]$/",$str[$i]))
$Login.= $str[$i];
Смотри регулярные выражения http://www.pcre.ru/
 
D

dima_lamo

Гость
#5
То что выше не пашет, да и не то это...

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

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

Andrew Stephanoff

Гость
#6
Регулярные выражения тебя спасут
 
D

dima_lamo

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

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

MajestiC

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


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

dima_lamo

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

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

MajestiC

Гость
#10
(тут типа 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

Гость
#11
хы... возможно и хреново описал...

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

MajestiC

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

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

dima_lamo

Гость
#13
Хы, проссто я с 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

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

MajestiC

Гость
#15
Вместо $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

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

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

dima_lamo

Гость
#17
Блин, у меня вечно ошибки всякие... МОэжет кто соеденит это всё воедино...