2012-04-05 5 views
3

전 항상 포럼에 글을 올린 사람이 아닙니다. 아무도 신경 쓰지 않고 항상 찾을 수 있기 때문입니다. 어쨌든, 이번에는 운이 없었습니다.현재 로그온 해주세요 TYPO3 사용자 (fe 사용자)

Java 응용 프로그램, Android 응용 프로그램 및 웹 사이트 자체에서 가족의 메시지를 남길 수있는 DB-Communications-System을 내 웹 사이트에 프로그래밍했습니다. 이 웹 사이트에서는 fe_user 로그인 마스크를 통해 로그인 한 다음 양식에 액세스 할 수 있습니다. 여기에는 드롭 다운 선택 'From'과 드롭 다운 선택 'For'가 있으며 선택할 가족의 이름이 있습니다. 내가 원하는 것은 페이지가 현재 로그인 한 사용자를 읽고이 사용자에 따라 'From'변수를 자동으로 설정하는 것입니다. 내가

$GLOBALS['TSFE']->fe_user->user 

과의 accordig 변화,하지만 난 그것에서 무언가를 얻으려고 노력 아무리을 찾은 많은 페이지에

,

strleng()
print_r($_GLOBALS['TSFE'])은 항상 0 항상 빈
이고 전체 배열도 비어 있습니다.
내가 뭘 잘못하고 있니? 이러한 변수에 액세스하려면 먼저해야 할 일이 있습니까? 또한 경우에 따라서는 나던이 객체를 인식하고 대신 변수를 해석, 그것은 바로 웹 사이트에

"->fe_user->user" 

을 말한다.

당신에게 확장 kickstarter를 설치하고 자신에 대한 프론트 엔드 - 플러그인을 만들

+0

확장 기능을 작성 하시겠습니까? TypoScript를 통해 액세스하려고합니까? 좀 더 많은 정보가 도움이 될 것입니다. t3lib_div :: debug ($ GLOBALS [ 'TSFE'] -> fe_user, '사용자 객체 (있는 경우)'); – maholtz

+0

양식을 어떻게 만드나요? PHP는 어떻게 포함합니까? 나는 당신이하고 싶은 것을 아카이브하기 위해 PHP 코드를 작성할 필요가 없다고 생각한다. 대신 TYPO3을 사용하십시오 :) – maholtz

+0

폼은 PHP에 변수를 POST하도록되어있는 HTML 폼입니다. – Halest

답변

12

인 print_r ($ _ GLOBALS [ 'TSFE는'])는 항상 비어

당신은 시도해야 $GLOBALS['TSFE']하지$_GLOBALS['TSFE']

그래서 $GLOBALS['TSFE']->fe_user->user은 로그인 한 사용자를 확인하기 위해 절대적으로 정확

1

대단히 감사합니다. 간단한 양식 예제를 얻을 수 있습니다. 거기서 $ GLOBALS [ 'TSFE'] 등을 사용할 수 있습니다 ("기본적으로 플러그인은 캐시 가능한 USER cObjects로 생성됩니다. 프론트 엔드 플러그인을 생성하는 동안이 확인란을 선택하면 캐시되지 않은 USER_INT cObject를 생성합니다.").

연장을 시작하는 구식 방법, 그러나 당신의 문제에서 당신의 문제를 해결하는 가장 빠르고 쉬운 방법이라고 생각합니다.

+0

TYPO3을 사용하는 경우 API를 사용해야합니다. 또 다른 가능성을 추가했습니다. – maholtz

+0

확장 프로그램을 설치하고 확장 프로그램 관리자를 통해 새 확장 프로그램을 시작하십시오. PHP 코드로 시작하십시오 _there_ – maholtz

+0

독서를 그만 두십시오. 아래 세 항목 만 "프론트 엔드 플러그인"입니다. 나는 "프론트 엔드 플러그인을 직접 만드십시오"라고 말했습니다. – maholtz

0

확장자 powermail을 사용하여 양식을 만들고 데이터베이스 테이블 (afaik, 테이블에는 적어도 uid와 pid 필드가 있어야 함)에 데이터를 저장할 수 있습니다.

3

현재 로그인 한 사용자의 ID를 반환합니다.

6

당신이 TypoScript에서 사용자 로그인하기 위해 필요한 경우 (210)는 TS의이 조각은 유용 할 수있다 (그리고 아마도 마커를 대체) :

page.10.marks.UNAME = TEXT 
page.10.marks.UNAME.data = TSFE:fe_user|user|username 
1

@Halest와 SQL 주입 취약점이있다

$ergebnis = mysql_query("select ses_userid from fe_sessions WHERE ses_id='$SessionID'"); 

그건 그렇고, 결코 쿠키를 신뢰하지 마십시오. 그것들은 수정되거나 심지어 꺼질 수 있습니다. 더 많은 $ GLOBALS [ 'DB']를 사용하여 데이터베이스와 상호 작용하도록하십시오.

0
$GLOBALS['TSFE']->fe_user->user

이렇게하면 fe_user 테이블의 모든 데이터가 반환됩니다. 당신은 당신이 원하는 어떤 가치를 얻을 수 있습니다.

관련 문제