Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: передать строку в функцию
Форумы портала PHP.SU » PHP » Программирование на PHP » передать строку в функцию

Страниц (1): [1]
 

1. ltise - 12 Ноября, 2009 - 19:40:13 - перейти к сообщению
Всем привет!
совсем недавно юзаю РНР и столкнулся с неожиданной проблеммой:
подскажите плиз, есть некая функция, типа

function login($login, $passwordmd5){
...
...
...
}

при передачи параметра 1232f297a57a5a743894a0e4a801fc3, значение обрезается
до числа = 1232...что совсем не гуд.
как передать строку ?

спасибо
2. Nestor - 12 Ноября, 2009 - 20:56:29 - перейти к сообщению
Она обрезается в теле ф-ции.Дайте код функции
3. Dekker8 - 12 Ноября, 2009 - 21:00:16 - перейти к сообщению
да тут бы не помешал более полный код.
4. ltise - 12 Ноября, 2009 - 21:38:57 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2.       function login($login, $passwordmd5){
  3.                NetDebug::trace($passwordmd5); // тут выводится уже обрезанная..
  4.                // прчем если добавить первой не цифру, а символ - то все работает
  5.                // типа a21232f297a57a5a743894a0e4a801fc3
  6.                $query = "SELECT * FROM users WHERE login=\"".$login."\" AND passw=\"".$passwordmd5."\"";
  7.                // соответственно в первом случае будет
  8.                //  "SELECT * FROM users WHERE login="admin" AND passw="21232"
  9.                // что не верно. Во втором случае все правильно:
  10.                //  "SELECT * FROM users WHERE login="admin" AND passw="a21232f297a57a5a743894a0e4a801fc3"
  11.  
  12.       }
  13.  
5. Nestor - 12 Ноября, 2009 - 21:53:13 - перейти к сообщению
Тогда проблема в коде который вызывает функцию.Приведите пример.
6. ltise - 12 Ноября, 2009 - 23:29:58 - перейти к сообщению
Вызывается из Flex приложения AMFPHP сервис..
CODE (text):
скопировать код в буфер обмена
  1.                
  2.                 public function loginTo(): void{
  3.                         var amf: Amf2  = new Amf2(SERVER_URL + "/amfphp/gateway.php");
  4.                         amf.toamf("proteus.authorization", _resultAmf, _faultAmf);
  5.                         amf.remoteObject.login(_login, _hash);
  6.                 }
  7.  

Вы правы, что-то по пути не туда преобразуется...
если вызвать внутри PHP то все прокатывает.
(Добавление)
Все спасибо, создал во флексе ремоте класс, или как он называется - все заработало.
CODE (text):
скопировать код в буфер обмена
  1.  
  2. package com.net.remote
  3. {
  4.         [RemoteClass(alias="com.net.remote.Authorization")]  
  5.        
  6.         [Bindable]     
  7.        
  8.         public class Authorization
  9.         {
  10.                 public function Authorization()
  11.                 {
  12.                 }
  13.  
  14.                 public function login(login: String, passwordmd5: String): Person{
  15.                         return null;
  16.                 }
  17.         }
  18. }
  19.  

в PHP соответственно:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. class Authorization {
  5.       var $_explicitType = "com.net.remote.Authorization";
  6. .....
  7. }
  8. ?>
  9.  

 

Powered by ExBB FM 1.0 RC1