Zum Inhalt springen

Formulardaten nicht erkannt

Erstellt am 25. Oktober 2012 · 6 Antworten · letzte Antwort am 25. Oktober 2012

Tags: Frage

hsafak ·

Ich habe ein Problem mit meinem Formular. Ich habe ein Formular als Extension geschrieben. Wenn man den ausfüllt, werden die Daten in eine Datenbanktabelle geschrieben. Das geht bei mir aber nur, wenn ich im backend angemeldet bin und den selben Browser verwende. Sobald ich mich beim backend abmelde kann ich auch keine Daten mehr in die Datenbank eintragen.

Hat jemand ne Idee woran es liegen könnte?

Norman2k ·

Edit: Bist du dir sicher, dass der Fehler in deiner Ext. ist und es nicht an deinem anderem Problem liegt?

Ohne zu wissen, wie der Code diese Funktion aussieht, kann man dir auch nicht wirklich helfen.
Was heißt "kann ich auch keine Daten mehr in die Datenbank eintragen"? Kommt eine Fehlermeldung? Läuft alles normal, nur die Daten sind nicht in der DB?

hsafak ·

Wenn ich das Formular ausfülle und submit anklicke lädt er die Seite einfach neu und wenn ich die Datenbanktabelle bei phpmyadmin angucke sind die daten nicht eingetragen.
Wenn ich im Backend angemeldet bin und im selben Browser das Formular aufrufe werden die Daten eingetragen und ich kriege die bestätigungsnachricht angezeigt.

Den Code versuch ich auch einzufügen hab ich aber noch nie gemacht ic hoffe man kann es lesen.

<?php

public function main($content, array $conf) {
	
	
	
		/*INSERT mit Formular*/
		if(isset($_POST['input'])) {
			
			$beginn = $_POST['beginn'];
			$ende =$_POST['ende'];
			$pers = $_POST['pers'];
			$ort = $_POST['ort'];
			$name=$_POST['name'];
			$vorname = $_POST['vorname'];
			$mail = $_POST['mail'];
			$tel = $_POST['tel'];
			$text = $_POST['text'];
			$pass = 12345;
			$unterkunft = $_POST['unterkunft'];
			$strand = $_POST['strand'];
			$stadt = $_POST['stadt'];
			$tier = $_POST['tier'];
			$kind = $_POST['kind'];
			$raucher = $_POST['raucher'];
			$bgerecht = $_POST['bgerecht'];
			$senior = $_POST['senior'];
			$garten = $_POST['garten'];
			$pool = $_POST['pool'];
			$terrasse = $_POST['terrasse'];
			$pkw = $_POST['pkw'];
			$sauna = $_POST['sauna'];
			$balkon = $_POST['balkon'];
			$grill = $_POST['grill'];
			$klima = $_POST['klima'];
			$wmaschine = $_POST['wmaschine'];
			$geschirr = $_POST['geschirr'];
			$wanne = $_POST['wanne'];
			$internet = $_POST['internet'];
			$kabeltv = $_POST['kabeltv'];
			$dusche = $_POST['dusche'];
			
					
			$sql = " INSERT INTO anzeigen_tabelle VALUES (NULL , '$beginn', '$ende', '$pers', '$ort', '$name', '$vorname', '$mail', '$tel', '$pass', '$text', '$unterkunft', '$strand', '$stadt', '$tier', '$kind', '$raucher', '$bgerecht', '$senior', '$garten', '$pool', '$terrasse', '$pkw', '$sauna', '$balkon', '$grill', '$klima', '$wmaschine', '$geschirr', '$wanne', '$internet', '$kabeltv', '$dusche')";
					
			$res = $GLOBALS['TYPO3_DB']->sql_query($sql);
			
			$content.="Vielen Dank, ihre Anzeige wurde erfolgreich eingetragen! <br> Sie  erhalten in kürze eine E-Mail von uns mit weiteren Anweisungen.";

			return $this->pi_wrapInBaseClass($content);
		
		}
			

		/*Eingabeformular*/			
		$content ='
			<form name="anzeige" id="anzeigenformular" method="post" action="">
	
			<!--------Persönliche Daten-------->
			<p>Persönliche Daten</p>
			<div class="form-div">
	
				<div class="form-row">
					<span class="label">Name *</span>
					<input type="text" name="name">
				</div>
				<div class="form-row">
					<span class="label">Vorname *</span>
					<input type="text" name="vorname">
				</div>
				<div class="form-row">
					<span class="label">E-Mail *</span>
					<input type="text" name="mail">
				</div>
				<div class="form-row">
					<span class="label">Telefon *</span>
					<input type="text" name="tel">
				</div>
				<div class="form-row"></div>
			</div>
	
			<!--------Reisedaten-------->
			<p>Reisedaten</p>
			<div class="form-div">
				<div class="form-row">
					<span class="label">Ort *</span>
					<select name="ort" size="1">
					<option>Flensburg</option>
					<option>Kiel</option>
					<option>Schleswig</option>
					<option>Gluecksburg</option>
					<option>Kappeln</option>
				</select>
				</div>
				<div class="form-row">
					<span class="label">Beginn *</span>
					<input type="text" id="startPicker" name="beginn">
				</div>
				<div class="form-row">
					<span class="label">Ende *</span>
					<input type="text" id="endPicker" name="ende">
				</div>
				<div class="form-row">
					<span class="label">Personen *</span>
					<select name="pers" size="1">
						<option>1</option>
						<option>2</option>
						<option>3</option>
						<option>4</option>
						<option>5</option>
						<option>6</option>
						<option>7</option>
						<option>8</option>
						<option>9</option>
						<option>10</option>
						<option>11</option>
						<option>12</option>
						<option>13</option>
						<option>14</option>
						<option>15</option>
						<option>16</option>
						<option>17</option>
						<option>18</option>
						<option>19</option>
						<option>20</option>
						<option>21</option>
						<option>22</option>
						<option>23</option>
						<option>24</option>
						<option>25</option>
						<option>>25</option>
					</select>
				</div>
				<div class="form-row"></div>
			</div>
		
	
	
			<!------------Detailauswahl------------------->

			
				<p>Detailauswahl</p>
				<div class="form-div">
				
					<div class="form-row">
						<span class="label">Unterkunftsart:</span>
						<select name="unterkunft" size="1">
							<option>beliebig</option>
							<option>Ferienwohnung</option>
							<option>Ferienhaus</option>
							<option>Bauernhof</option>
						</select>
					</div>
				
					<div class="form-row">
						<span class="label">Nähe zum Strand:</span>
						<select name="strand" size="1">
							<option>beliebig</option>
							<option>5 km</option>
							<option>10 km</option>
						</select>
					</div>
				
					<div class="form-row">
						<span class="label">Nähe zur Stadt:</span>
						<select name="stadt" size="1">
							<option>beliebig</option>
							<option>1 km</option>
							<option>5 km</option>
							<option>10 km</option>
						</select>
					</div>
		
					<div class="form-row">
						<b>Besondere Eignung:</b>
					</div>
					<div class="form-row">
						<input type="checkbox" name="tier" value="1"> Haustiere
						<input type="checkbox" name="kind" value="1"> Kinderfreundlich
						<input type="checkbox" name="raucher" value="1"> Nichtraucher
						<input type="checkbox" name="bgerecht" value="1"> Behindertengerecht
						<input type="checkbox" name="senior" value="1"> Seniorengeeignet
					</div>
			
					<div class="form-row">
						<b>Ausstattung:</b> 
					</div>
		
					<div class="form-row">
						<input type="checkbox" name="garten" value="1"> Garten
						<input type="checkbox" name="pool" value="1"> Pool
						<input type="checkbox" name="terrasse" value="1"> Terrasse
						<input type="checkbox" name="pkw" value="1"> PKW-Stellplatz
						<input type="checkbox" name="sauna" value="1"> Sauna
						<input type="checkbox" name="balkon" value="1"> Balkon
						<input type="checkbox" name="grill" value="1"> Grill
						<input type="checkbox" name="klima" value="1"> Klimaanlage
					</div>
			
					<div class="form-row">
						<input type="checkbox" name="wmaschine" value="1"> Waschmaschine 
						<input type="checkbox" name="geschirr" value="1"> Geschirrspülmaschine
						<input type="checkbox" name="wanne" value="1"> Wannenbad
						<input type="checkbox" name="internet" value="1"> Internet
						<input type="checkbox" name="kabeltv" value="1"> Kabel TV
						<input type="checkbox" name="dusche" value="1"> Dusche
					</div>
	
				</div>
		
			
			<!--------Beschreibung-------->
			<p>Beschreibung</p>
			<div class="form-div">
	
				<div class="form-row">
					<span class="label">Beschreibung in eigenen Worten *</span>
					<textarea name="text"></textarea>
				</div>
				<div class="form-row">
					<input class="submit" type="submit" value="Eintragen" name="input">
					<input type="reset">
				</div>
	
			</div>
		
			</form>
		
		';
		
		return $content;
	
	}
}



if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/anzeigeerstellen/pi1/class.tx_anzeigeerstellen_pi1.php'])) {
	include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/anzeigeerstellen/pi1/class.tx_anzeigeerstellen_pi1.php']);
}

?>
Norman2k ·

Hört sich für mich eventuell nach einem Cache-Problem an. Zum Testen kannst du mal in deinem TS folgendes Eintragen, das deaktiviert den Cache auf der gesamten Seite

config.no_cache = 1
Norman2k ·

Das in deine main-Function:

<?php
$this->pi_USER_INT_obj = 1;	// Configuring so caching is not expected. This value means that no cHash params are ever set. We do this, because it's a USER_INT object!
?>