---
title: "Ajax in selbst erstellte Extension einbinde (eID)"
url: "https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Frage","JavaScript & AJAX"]
created: "2013-05-13"
last_reply: "2013-05-15"
replies: 32
solved: false
page: 1
pages: 1
lang: "de"
---

# Ajax in selbst erstellte Extension einbinde (eID)

Extensions › Entwicklung · 32 Antworten · gestartet 2013-05-13

## Eröffnungsbeitrag

**PhilippParth** · 2013-05-13 · [Beitrag #1](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/1)

Hallo lieber Kommunity,

ich habe ein kleines problem das mich jetzt schon ein wenig länger bedrückt.

Ich habe schon viel im Inet nachgeschaut und auch einiges zu dem Problem gefunden aber leider funktioniert es bei  mir immer noch nicht, deswegen hoffe ich das ich hier bei euch rat oder hilfer finde.

zum Problem:

Ich habe eine extension geschrieben (meine erste),

und ich wollte jetzt in dieser einwenig ajax einbinden da ich ein kleines Formular habe und kein pagebrowse wollte.

Leider schaffe ich es nicht die Ajax datei bzw die php datei wo die ajax datei zugreift mit dem Typo3 (datenbank usw) zu verbinden ....

Ich habe es mit dem eID probiert leider kein erfolgt

 **ext_localconf.php**

```php
$TYPO3_CONF_VARS['FE']['eID_include']['EIDEINTRAG'] = 'EXT:db_verwaltung/lib/xxx.xxxEintragen.php';
```

**Jquery datei**

```javascript
$.get('http://www.xxx.it/typo3conf/ext/db_verwaltung/lib/xxx.xxxEintragen.php?eID=EIDEINTRAG&holen=ja' , function(data){
    alert(data);
});
```

weiß jemand vielleicht weiter?

LG
Philipp

## Antworten

### [#2](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/2) · vince · 2013-05-13

hallo,
ich mache das immer so:

```javascript
   var params=  { "holen" : "ja", "param2" : "wert2"}; 
      $.ajax({
        url: '/?eID=EIDEINTRAG',
        data: params,
        success: function(data) {
          alert(data);
        }//success
      });//ajax
```

Gruß,
Vince.

### [#3](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/3) · PhilippParth · 2013-05-13

Hallo Vince,

schonmal danke für die schnelle Antwort.

Muss bei Url nicht der Absolute pfad eingetragen werden damit es funktioniert?

Lg
philipp

### [#4](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/4) · PhilippParth · 2013-05-13

Ich habe jetzt deine variante der Ajax abfrage geteste leider kein erfolgt

```html
<br />
<b>Warning</b>:  mysql_query() [<a href='function.mysql-query'>function.mysql-query</a>]: Access denied for user 'xxxxxxxx'@'localhost' (using password: NO) in <b>/www/htdocs/xxxxxxxx/typo3conf/ext/db_verwaltung/lib/class.xxx.php</b> on line <b>20</b><br />
<br />
<b>Warning</b>:  mysql_query() [<a href='function.mysql-query'>function.mysql-query</a>]: A link to the server could not be established in <b>/www/htdocs/xxxxxxxx/typo3conf/ext/db_verwaltung/lib/class.xxx.php</b> on line <b>20</b><br />
<br />
<b>Warning</b>:  mysql_fetch_array() expects parameter 1 to be resource, boolean given in <b>/www/htdocs/xxxxxxxx/typo3conf/ext/db_verwaltung/lib/class.xxx.php</b> on line <b>21</b><br />
```

Habe ich vieleicht irgendwas vergessen ......

Lg
Philipp

### [#5](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/5) · vince · 2013-05-13

na das sieht doch schonmal ganz gut aus. Zumindest wird das Skript angesteuert.

Jetzt musst Du nur noch die DB-Verbindung aufbauen.

das sieht bei mir folgendermaßen aus:

```php
$id = $_GET['id'];
$GLOBALS['TSFE'] = t3lib_div::makeInstance('tslib_fe', $GLOBALS['TYPO3_CONF_VARS'], $id , ''); 
$GLOBALS['TSFE']->connectToDB(); 
$GLOBALS['TSFE']->initFEuser(); 
$GLOBALS['TSFE']->checkAlternativeIdMethods(); 
$GLOBALS['TSFE']->determineId(); 
$GLOBALS['TSFE']->getCompressedTCarray(); 
$GLOBALS['TSFE']->initTemplate(); 
$GLOBALS['TSFE']->getConfigArray(); 

// Get linkVars, absRefPrefix, etc 
TSpagegen::pagegenInit();
```

Du brauchst nicht unbedingt alle obigen Aufrufe, aber kann ja nicht schaden.

Ach ja: dem Ajax-Aufruf am besten noch die Seiten-ID üebrgeben, damit das richtige typoscript geladen wird.

Gruß,
Vince.

### [#6](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/6) · PhilippParth · 2013-05-13

leider wars das immer noch nicht #angry#

```html
<b>Fatal error</b>:  Class 't3lib_div' not found in <b>/www/htdocs/w00f05c6/typo3conf/ext/db_verwaltung/lib/class.eintragen.php</b> on line <b>21</b>
```

Nächter schöne Fehler :D

LG
Philipp

### [#7](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/7) · vince · 2013-05-13

was für eine Typo3-Version benutzt Du?

die Klasse müsste zu finden sein unter /t3lib/class.t3lib_div.php bzw. /typo3_src/t3lib
(je nachdem, wie die Symlinks so ausschauen)

### [#8](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/8) · PhilippParth · 2013-05-13

Typo3 6.0.4!

Also mal in den Datein rumschnüfflen :)

Danke schonmal führ die Hilfe.

Lg
philipp

### [#9](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/9) · PhilippParth · 2013-05-13

Hehe xD

in der class.t3lib_div.php steht folgendes

```php
<?php
/*
 * @deprecated since 6.0, the classname t3lib_div and this file is obsolete
 * and will be removed with 6.2. The class was renamed and is now located at:
 * typo3/sysext/core/Classes/Utility/GeneralUtility.php
 */
require_once __DIR__ . '/../typo3/sysext/core/Classes/Utility/GeneralUtility.php';
?>
```

und die andere datei existiert gar nicht!

LG
Philipp

### [#10](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/10) · vince · 2013-05-13

ok, das PHP-Bespiel von mir läuft unter 4.7, in Deinem Fall bringt der Code-Schnipsel dann nicht so viel.

Aus dem Kopf weiß ich da jetzt nichts, sollte man aber googlen können ;)

### [#11](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/11) · PhilippParth · 2013-05-13

Hallo Vince,

schonmal danke für deine Hilfer.

habe bis jetzt rausgefunden das man es so schreiben muss soviel ich verstanden habe.

$GLOBALS['TSFE'] = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('tslib_fe', $GLOBALS['TYPO3_CONF_VARS'], $id , '');

leider kommt da schon wieder die nächste fehlermeldung :(

Lg
Philipp

### [#12](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/12) · vince · 2013-05-13

hab grad gesehen, dass eine Klasse Namens EidUtility gibt. Das könnte passen

### [#13](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/13) · PhilippParth · 2013-05-13

Habe gerade die php datei durchforstet und google befragt.

und leider keine Antwort bekommen!!

Kannst du mir bitte sagen wo du diese Informationen her hast :D?

LG
Philipp

### [#14](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/14) · vince · 2013-05-13

ich hab "typo3 6.0 eID Db Connection" bei Google eingegeben ;)

### [#15](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/15) · PhilippParth · 2013-05-14

Ich stehe gerade mal aufn schlauch  :o aber mal schauen was sich machen lässt.

Danke dir :).

lg
philipp

### [#16](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/16) · PhilippParth · 2013-05-14

Ich komm einfach nicht weiter und habe auch ehrlich gesagt keine Ahnung was ich wie oder wo machen soll.

Hoffe um dein verständniss und das du mir bitte weiter helfen kannst.

```php
$id = $_GET['eID'];
$GLOBALS['TSFE'] = TYPO3\CMS\Frontend\Utility\EidUtility::initExtensionTCA($id); 
$GLOBALS['TSFE'] =  TYPO3\CMS\Frontend\Utility\EidUtility::connectDB(); 		
$TESTSQL = "SELECT * FROM `tx_xxxx_xxxx`";
$TESTQuery = mysql_query($TESTSQL);
$TESTArray = mysql_fetch_array($TESTQuery);
$TESTID = $TESTArray['inserate'];
echo $TESTID['id']
```

Lg Philipp

### [#17](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/17) · vince · 2013-05-14

hallo,

hab mir mal die EidUtitlity näher angeschaut.

zu der Zeile:

```php
$GLOBALS['TSFE'] = TYPO3\CMS\Frontend\Utility\EidUtility::initExtensionTCA($id);
```

Die methode erwartet den Extensionkey als Parameter. (für eine einfache DB-Abfrage brauchst Du das nicht, also erstmal weglassen).

Sobald die Verbindung hergestellt ist, kannst über $GLOBALS['TYPO3_DB'] deine Abfragen abschicken.
Class reference ist hier:
<http://doxygen.frozenkiwi.com/typo3/html/de/d07/classt3lib__DB.html>

also für dein Beispiel:

```php
$GLOBALS['TSFE'] =  TYPO3\CMS\Frontend\Utility\EidUtility::connectDB(); 
$TESTArray = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows("*", "tx_xxxx_xxxx" );
```

Hab's auch in einer 6.0.4 Intallation getestet, läuft.

Die Methode EidUtility::connectDB() scheint ab 6.1 deprecated zu sein, ab da wird die Verbindung wohl immer automatisch aufgebaut.

Gruß,
Vince.

### [#18](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/18) · PhilippParth · 2013-05-14

Hallo,

erstmals danke für die ganze mühe.

ich habe es jetzt durch getestet leider funktionierts immer noch nicth :(.

```html
<br />
<b>Fatal error</b>:  Class 'TYPO3\CMS\Frontend\Utility\EidUtility' not found in <b>/www/htdocs/w00f05c6/typo3conf/ext/db_verwaltung/lib/class.eintragen.php</b> on line <b>3</b><br />
```

Kein ahnung was fehlt...

### [#19](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/19) · vince · 2013-05-14

hmm, also bei mir läuft folgender PHP-Code:

```php
if (!defined ('PATH_typo3conf')) die ('Could not access this script directly!');

class test {

    public function main() {
		$this->initTSFE();
		$res = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows("*", "table" );	
		return $res[0]['field'];

	}
	protected function initTSFE() { 
		$GLOBALS['TSFE'] =  TYPO3\CMS\Frontend\Utility\EidUtility::connectDB(); 		
	} 
}

$output = t3lib_div::makeInstance('test');
echo $output->main();
```

Ansonsten schau mal ob unter /typo3/sysext/frontend/Classes/Utility/EidUtility.php was liegt.

### [#20](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/20) · PhilippParth · 2013-05-14

Ich habe mir jetzt mal deinen Code copiert.

Bei mir scheiterts schon bei der ersten If abfrage!

eID problem?

Lg
Philipp

### [#21](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/21) · vince · 2013-05-14

wie genau hast Du das Skript aufgerufen?

ich ruf's über www.domain.de/?eID=EID_NAME

### [#22](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/22) · PhilippParth · 2013-05-14

www.domain.de?eID=EID_NAME

ich habe es so!

### [#23](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/23) · PhilippParth · 2013-05-14

Ist der / wichtig :)?

### [#24](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/24) · vince · 2013-05-14

was passiert, wenn Du in das PHP-Skript nur ein simples echo "hello" ohne alles schreibst?

### [#25](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/25) · PhilippParth · 2013-05-14

Habe isch schon getestet ob es am ajax liegt aber da funktioniert es einband frei!.

Meiner sicht aus wird es nicht richtig bzw gar nicht ins system eingebunden.

lG
Philipp

### [#26](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/26) · vince · 2013-05-14

ok, wie genau schaut der Eintrag in der ext_lcoalconf aus?
bei mir schaut's so aus:

```php
$TYPO3_CONF_VARS['FE']['eID_include']['eID_test'] = 'EXT:extension_key/pfad/class.test.php';
```

### [#27](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/27) · PhilippParth · 2013-05-14

So sieht sie aus :)

<?php
if (!defined('TYPO3_MODE')) {
	die ('Access denied.');
}

$TYPO3_CONF_VARS['FE']['eID_include']['buero'] = 'typo3conf/ext/db_verwaltung/lib/class.eintragen.php';

t3lib_extMgm::addPItoST43($_EXTKEY, 'pi1/class.tx_dbverwaltung_pi1.php', '_pi1', 'list_type', 1);

?>

### [#28](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/28) · vince · 2013-05-14

versuch's mal mit

```php
$TYPO3_CONF_VARS['FE']['eID_include']['buero'] = 'EXT:db_verwaltung/lib/class.eintragen.php';
```

### [#29](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/29) · PhilippParth · 2013-05-14

Leider immer noch nicht richtig :(

Could not access this script directly!

### [#30](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/30) · vince · 2013-05-14

hmm, ich weiß langsam auch net mehr weiter ;)

funktioniert's ohne if-abfrage? konfigurations-cache gelöscht?

### [#31](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/31) · PhilippParth · 2013-05-14

hmmm,

ich tests nochmal ohne if :D....

ich kann dir die extension a schicken :D kannste live testen ist vielleicht angenehmer!

LG
philipp

### [#32](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/32) · PhilippParth · 2013-05-14

oje oje ....

wenn ich die if weck lasse kommt wieder

```html
<br />
<b>Fatal error</b>:  Class 't3lib_div' not found in <b>/www/htdocs/w00f05c6/typo3conf/ext/db_verwaltung/lib/class.eintragen.php</b> on line <b>21</b><br />
```

xD

lg
Philipp

### [#33](https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid/33) · PhilippParth · 2013-05-15

Lösung :D

Nach langem hin und her habe ich endlich (glaube ich zumindest) den fehler gefunden.
Funktionieren tuts 8-)!

der Fehler war bei dem ajax.

ich habe beid er url denn absoulten pfad (<http://www.meindomain.de/typo3conf/ext/xx_lalalalal/lib/mein_datei.php/?eID=lalalal>)
angegben.
Irgendwo habe ich aber gelesen das es ja direkt von der Seite ausg gehen muss also muss man bei dem url parameter nur /?eID=lalalal
angeben dann wird die eID kontrolliert und die php datei von automatisch angesprochen :D...

und voila es funktioniert danke an vincent führ die große hilfe..

Lg
philipp

---

Quelle: „Ajax in selbst erstellte Extension einbinde (eID)“, typo3.net, https://www.typo3.net/d/114818-ajax-in-selbst-erstellte-extension-einbinde-eid
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
