[HTML/PHP] Gedankenanstoß - Formular verarbeitung

Registriert
Dez. 2005
Beiträge
175
Gegeben ist;

- 1 html Seite die ein Formular mit 17 Textfeldern besitzt.
- Die in das Formular eingegebenen Inhalte sollen, in einer Datei/Seite gespeichert werden, welche Nur für bestimmte Leute sichtbar ist.

Das heißt, jeder soll das Formular ausfüllen können, aber nur der Admin und zwei weitere User sollen, die Ergebnisse angucken können...

Hatte mir überlegt, dass die Ergebnissdatei in einem HTacces geschütztem Ordner liegt, aber dann funktioniert die eingabe ja nicht mehr....

Schonmal danke im vorraus für eure Hilfe!

lg raffiausgoslar
 
raffiausgoslar schrieb:
Gegeben ist;
Hatte mir überlegt, dass die Ergebnissdatei in einem HTacces geschütztem Ordner liegt, aber dann funktioniert die eingabe ja nicht mehr....

Doch, du musst die "fragebogen.php" einfach nur ein einen Ordner darunter legen.. Also

fragebogen.php
/secure/.htaccess
/secure/ergebnisse.html

In der fragebogen.php speicherst du einfach die Werte in die /secure/ergebnisse.html ab.
 
habs jetzt mit ner mySql Datenbank gemacht. Funktioniert ansich auch ganz schön, jedoch gibt es im Formular auch ein "Nickname" Feld. Nun hätte ich gerne, das der alte eintrag eines Nicknames bei erneutem ausfüllen des Formulars überschrieben wird und nciht ein neuer mit dem gleichen Nick hinzugefügt wird... Kann mir jemand helfen?

PHP:
<?php

	require("inc/config.inc.php");
	require("mysql_connect.php");
	
	//IP Check
	$ipsperre = FALSE;
	$sql = "SELECT
				COUNT(*) AS anzahl
			FROM
				unterschriften
			WHERE
				ip = '".$_SERVER['REMOTE_ADDR']."' ;";
	$result = mysql_query($sql) OR die(mysql_error());
	  	$row = mysql_fetch_array($result);
	  	if($row['anzahl']>0)
	  		$ipsperre = TRUE;

	
  if($ipsperre == FALSE)
  {
    if(isset($_POST))
    {
    $T17 = $_POST['T17'];
    $T1 = $_POST['T1'];
    $T2 = $_POST['T2'];
    $T3 = $_POST['T3'];
    $T4 = $_POST['T4'];
    $T5 = $_POST['T5'];
    $T6 = $_POST['T6'];
    $T7 = $_POST['T7'];
    $T8 = $_POST['T8'];
    $T9 = $_POST['T9'];
    $T10 = $_POST['T10'];
    $T11 = $_POST['T11'];
    $T12 = $_POST['T12'];
    $T13 = $_POST['T13'];
    $T14 = $_POST['T14'];
    $T15 = $_POST['T15'];
    $T16 = $_POST['T16'];
    	if((isset($T17,$T1,$T2,$T3,$T4,$T5,$T6,$T7,$T8,$T9,$T10,$T11,$T12,$T13,$T14,$T15,$T16))&&($T17!="")&&($T1!="")&&($T2!="")&&($T3!="")&&($T4!="")&&($T5!="")&&($T6!="")&&($T7!="")&&($T8!="")&&($T9!="")&&($T10!="")&&($T11!="")&&($T12!="")&&($T13!="")&&($T14!="")&&($T15!="")&&($T16!=""))
	{
	  	do
	  	{	
	  	  //Eintragung in die Datenbank
	  	  	$errorcode = NULL;
	  		$sql = "INSERT INTO
	  					truppenmanager
	  				SET
	  					T17 = '".addslashes(htmlspecialchars($T17))."' ,
	  					T1 = '".addslashes(htmlspecialchars($T1))."' ,
	  					T2 = '".addslashes(htmlspecialchars($T2))."' ,
	  					T3 = '".addslashes(htmlspecialchars($T3))."' ,
	  					T4 = '".addslashes(htmlspecialchars($T4))."' ,
	  					T5 = '".addslashes(htmlspecialchars($T5))."' ,
	  					T6 = '".addslashes(htmlspecialchars($T6))."' ,
	  					T7 = '".addslashes(htmlspecialchars($T7))."' ,
	  					T8 = '".addslashes(htmlspecialchars($T8))."' ,
	  					T9 = '".addslashes(htmlspecialchars($T9))."' ,
	  					T10 = '".addslashes(htmlspecialchars($T10))."' ,
	  					T11 = '".addslashes(htmlspecialchars($T11))."' ,
	  					T12 = '".addslashes(htmlspecialchars($T12))."' ,
	  					T13 = '".addslashes(htmlspecialchars($T13))."' ,
	  					T14 = '".addslashes(htmlspecialchars($T14))."' ,
	  					T15 = '".addslashes(htmlspecialchars($T15))."' ,
	  					T16 = '".addslashes(htmlspecialchars($T16))."' ,
	  					ip = '".$_SERVER['REMOTE_ADDR']."' ,
	  					datum = NOW()  ;";
	  		$result = mysql_query($sql) OR FALSE;
	  		if($result == FALSE)
	  		{
	  	  		$errorcode = mysql_errno();
	  	  		if($errorcode = 1146)
	  	  		{
	  	  		  	include "firststart.php";
	  	  		}else die(mysql_error()."<br> code: ".mysql_errno());
	  	  	}
	  	}while($result != TRUE);
	  	echo "<h2>Vielen Dank für Deinen Eintrag!</h2><br>"; 			
	}else echo "<h2>Fehlerhafte Angaben - Bitte füllen Sie das Forumlar korrekt aus!<br>
		        <a href=\"javascript:history.back()\">zurück</a></h2>";
	}else echo "<h2>Fehler - Keine POST Übertragung</h2><br>";
  }else echo "<h2>Du hast dich soeben schon eingetragen!!!</h2><br>";  		
?>

	<p align="center"> 
		<b><font face="Arial" color="#666666">Was möchtest Du nun tun? 
	</font></b> 
	</p>
<p align="center"><font face="Arial"><b><a href="javascript:history.back()">
	<font size="2" color="#000000"><span style="text-decoration: none">::zurück zum 
Manager::</span></font></a><font size="2"><span style>&nbsp;&nbsp; </span>
<span style="text-decoration: none"><a href="list/list.php">
<font color="#000000">::Truppen ansehen::</font></a></span>&nbsp;&nbsp;
<a target="_blank" href="http://www.black-hawk-down.dl.am">
<font color="#000000"><span style="text-decoration: none">::zum Forum::</span></font></a></font></b></font></p>
 
So wie ich das verstehe, musst du ja nur vorher abfragen, ob der Nickname schon in der DB existiert und dann anstatt INSERT .. UPDATE benutzen. Also z.B. (ohne Sicherheitskram etc)
PHP:
$sql = "UPDATE truppenmanager SET t1 = 'blaaa',t2 = 'blubber' ... WHERE nick = 'alter Nick' LIMIT 1;";
                       
$result = mysql_query($sql) OR FALSE;
 
Zuletzt bearbeitet:
Sry bin nciht sooo gut in PHP/mySQL... Das mit dem INSERT//UPDATE ,üsste dann so aussehen wie unten? Und wie mache ich die Abfrage??? (Sry, aber hab grad nen Brett vorm Kopf...)

PHP:
<?php

	require("inc/config.inc.php");
	require("mysql_connect.php");
	
	//IP Check
	$ipsperre = FALSE;
	$sql = "SELECT
				COUNT(*) AS anzahl
			FROM
				unterschriften
			WHERE
				ip = '".$_SERVER['REMOTE_ADDR']."' ;";
	$result = mysql_query($sql) OR die(mysql_error());
	  	$row = mysql_fetch_array($result);
	  	if($row['anzahl']>0)
	  		$ipsperre = TRUE;

	
  if($ipsperre == FALSE)
  {
    if(isset($_POST))
    {
    $T17 = $_POST['T17'];
    $T1 = $_POST['T1'];
    $T2 = $_POST['T2'];
    $T3 = $_POST['T3'];
    $T4 = $_POST['T4'];
    $T5 = $_POST['T5'];
    $T6 = $_POST['T6'];
    $T7 = $_POST['T7'];
    $T8 = $_POST['T8'];
    $T9 = $_POST['T9'];
    $T10 = $_POST['T10'];
    $T11 = $_POST['T11'];
    $T12 = $_POST['T12'];
    $T13 = $_POST['T13'];
    $T14 = $_POST['T14'];
    $T15 = $_POST['T15'];
    $T16 = $_POST['T16'];
    	if((isset($T17,$T1,$T2,$T3,$T4,$T5,$T6,$T7,$T8,$T9,$T10,$T11,$T12,$T13,$T14,$T15,$T16))&&($T17!="")&&($T1!="")&&($T2!="")&&($T3!="")&&($T4!="")&&($T5!="")&&($T6!="")&&($T7!="")&&($T8!="")&&($T9!="")&&($T10!="")&&($T11!="")&&($T12!="")&&($T13!="")&&($T14!="")&&($T15!="")&&($T16!=""))
	{
	  	do
	  	{	
	  	  //Eintragung in die Datenbank
	  	  	$errorcode = NULL;
	  		$sql = "UPDATE INTO
	  					truppenmanager
	  				SET
	  					T17 = '".addslashes(htmlspecialchars($T17))."' ,
	  					T1 = '".addslashes(htmlspecialchars($T1))."' ,
	  					T2 = '".addslashes(htmlspecialchars($T2))."' ,
	  					T3 = '".addslashes(htmlspecialchars($T3))."' ,
	  					T4 = '".addslashes(htmlspecialchars($T4))."' ,
	  					T5 = '".addslashes(htmlspecialchars($T5))."' ,
	  					T6 = '".addslashes(htmlspecialchars($T6))."' ,
	  					T7 = '".addslashes(htmlspecialchars($T7))."' ,
	  					T8 = '".addslashes(htmlspecialchars($T8))."' ,
	  					T9 = '".addslashes(htmlspecialchars($T9))."' ,
	  					T10 = '".addslashes(htmlspecialchars($T10))."' ,
	  					T11 = '".addslashes(htmlspecialchars($T11))."' ,
	  					T12 = '".addslashes(htmlspecialchars($T12))."' ,
	  					T13 = '".addslashes(htmlspecialchars($T13))."' ,
	  					T14 = '".addslashes(htmlspecialchars($T14))."' ,
	  					T15 = '".addslashes(htmlspecialchars($T15))."' ,
	  					T16 = '".addslashes(htmlspecialchars($T16))."' ,
	  					ip = '".$_SERVER['REMOTE_ADDR']."' ,
	  					datum = NOW()  ;";
	  		$result = mysql_query($sql) OR FALSE;
	  		if($result == FALSE)
	  		{
	  	  		$errorcode = mysql_errno();
	  	  		if($errorcode = 1146)
	  	  		{
	  	  		  	include "firststart.php";
	  	  		}else die(mysql_error()."<br> code: ".mysql_errno());
	  	  	}
	  	}while($result != TRUE);
	  	echo "<h2>Vielen Dank für Deinen Eintrag!</h2><br>"; 			
	}else echo "<h2>Fehlerhafte Angaben - Bitte füllen Sie das Forumlar korrekt aus!<br>
		        <a href=\"javascript:history.back()\">zurück</a></h2>";
	}else echo "<h2>Fehler - Keine POST Übertragung</h2><br>";
  }else echo "<h2>Du hast dich soeben schon eingetragen!!!</h2><br>";  		
?>

	<p align="center"> 
		<b><font face="Arial" color="#666666">Was möchtest Du nun tun? 
	</font></b> 
	</p>
<p align="center"><font face="Arial"><b><a href="javascript:history.back()">
	<font size="2" color="#000000"><span style="text-decoration: none">::zurück zum 
Manager::</span></font></a><font size="2"><span style>&nbsp;&nbsp; </span>
<span style="text-decoration: none"><a href="list/list.php">
<font color="#000000">::Truppen ansehen::</font></a></span>&nbsp;&nbsp;
<a target="_blank" href="http://www.black-hawk-down.dl.am">
<font color="#000000"><span style="text-decoration: none">::zum Forum::</span></font></a></font></b></font></p>
 
nein.. guck dir mal meinen Aufbau an, das müsste so schon richtig sein. Du fügst etwas ein (INSERT INTO) .. aber du erneuerst nicht in etwas :) also das UPDATE tablename SET [...] reicht.

Die Abfrage ist eine einfache if-else Abfrage in der du den Formular Nicknamen mit allen Nicks aus der DB-Tabelle vergleichst.
 
Ok das mit dem Updaten haut jetzt hin, wenn jedoch ein neuer nick versucht sich einzutragen, dann wird der datensatz nicht mehr in die datenbank eingefügt? wo liegt der Fehler, ich find ihn mal wieder nicht =(

PHP:
<?php

	require("inc/config.inc.php");
	require("mysql_connect.php");
	
	//IP Check
	$ipsperre = FALSE;
	$sql = "SELECT
				COUNT(*) AS anzahl
			FROM
				unterschriften
			WHERE
				ip = '".$_SERVER['REMOTE_ADDR']."' ;";
	$result = mysql_query($sql) OR die(mysql_error());
	  	$row = mysql_fetch_array($result);
	  	if($row['anzahl']>0)
	  		$ipsperre = TRUE;

	
  if($ipsperre == FALSE)
  {
    if(isset($_POST))
    {
    $T17 = $_POST['T17'];
    $T1 = $_POST['T1'];
    $T2 = $_POST['T2'];
    $T3 = $_POST['T3'];
    $T4 = $_POST['T4'];
    $T5 = $_POST['T5'];
    $T6 = $_POST['T6'];
    $T7 = $_POST['T7'];
    $T8 = $_POST['T8'];
    $T9 = $_POST['T9'];
    $T10 = $_POST['T10'];
    $T11 = $_POST['T11'];
    $T12 = $_POST['T12'];
    $T13 = $_POST['T13'];
    $T14 = $_POST['T14'];
    $T15 = $_POST['T15'];
    $T16 = $_POST['T16'];
    	if((isset($T17,$T1,$T2,$T3,$T4,$T5,$T6,$T7,$T8,$T9,$T10,$T11,$T12,$T13,$T14,$T15,$T16))&&($T17!="")&&($T1!="")&&($T2!="")&&($T3!="")&&($T4!="")&&($T5!="")&&($T6!="")&&($T7!="")&&($T8!="")&&($T9!="")&&($T10!="")&&($T11!="")&&($T12!="")&&($T13!="")&&($T14!="")&&($T15!="")&&($T16!=""))
	{
	  	do
	  	{	
	  	  //Eintragung in die Datenbank
	  	  	$errorcode = NULL;
                        
                        $sql = "UPDATE 
                        truppenmanager 
                                        SET
	  					T1 = '$T1',
	  					T2 = '$T2',
	  					T3 = '$T3',
	  					T4 = '$T4',
	  					T5 = '$T5',
	  					T6 = '$T6',
	  					T7 = '$T7',
	  					T8 = '$T8',
	  					T9 = '$T9',
	  					T10 = '$T10',
	  					T11 = '$T11',
	  					T12 = '$T12',
	  					T13 = '$T13',
	  					T14 = '$T14',
	  					T15 = '$T15',
	  					T16 = '$T16'
                                        WHERE T17 = '$T17' LIMIT 1;";
                       
                        $result = mysql_query($sql) OR FALSE;      	  		
                        if($result == FALSE)
	  		{
	  	  		$sql = "INSERT INTO
	  					truppenmanager
	  				SET
	  					T17 = '".addslashes(htmlspecialchars($T17))."' ,
	  					T1 = '".addslashes(htmlspecialchars($T1))."' ,
	  					T2 = '".addslashes(htmlspecialchars($T2))."' ,
	  					T3 = '".addslashes(htmlspecialchars($T3))."' ,
	  					T4 = '".addslashes(htmlspecialchars($T4))."' ,
	  					T5 = '".addslashes(htmlspecialchars($T5))."' ,
	  					T6 = '".addslashes(htmlspecialchars($T6))."' ,
	  					T7 = '".addslashes(htmlspecialchars($T7))."' ,
	  					T8 = '".addslashes(htmlspecialchars($T8))."' ,
	  					T9 = '".addslashes(htmlspecialchars($T9))."' ,
	  					T10 = '".addslashes(htmlspecialchars($T10))."' ,
	  					T11 = '".addslashes(htmlspecialchars($T11))."' ,
	  					T12 = '".addslashes(htmlspecialchars($T12))."' ,
	  					T13 = '".addslashes(htmlspecialchars($T13))."' ,
	  					T14 = '".addslashes(htmlspecialchars($T14))."' ,
	  					T15 = '".addslashes(htmlspecialchars($T15))."' ,
	  					T16 = '".addslashes(htmlspecialchars($T16))."' ,
	  					ip = '".$_SERVER['REMOTE_ADDR']."' ,
	  					datum = NOW()  ;";
	  		$result = mysql_query($sql) OR FALSE;
	  		if($result == FALSE)
	  		{
	  	  		$errorcode = mysql_errno();
	  	  		if($errorcode = 1146)
	  	  		{
	  	  		  	include "firststart.php";
	  	  		}else die(mysql_error()."<br> code: ".mysql_errno());
	  	  	}
	  	  	}

                        
	  	}while($result != TRUE);
	  	echo "<h2>Vielen Dank für Deinen Eintrag!</h2><br>"; 			
	}else echo "<h2>Fehlerhafte Angaben - Bitte füllen Sie das Forumlar korrekt aus!<br>
		        <a href=\"javascript:history.back()\">zurück</a></h2>";
	}else echo "<h2>Fehler - Keine POST Übertragung</h2><br>";
  }else echo "<h2>Du hast dich soeben schon eingetragen!!!</h2><br>";  		
?>

	<p align="center"> 
		<b><font face="Arial" color="#666666">Was möchtest Du nun tun? 
	</font></b> 
	</p>
<p align="center"><font face="Arial"><b><a href="javascript:history.back()">
	<font size="2" color="#000000"><span style="text-decoration: none">::zurück zum 
Manager::</span></font></a><font size="2"><span style>&nbsp;&nbsp; </span>
<span style="text-decoration: none"><a href="list/list.php">
<font color="#000000">::Truppen ansehen::</font></a></span>&nbsp;&nbsp;
<a target="_blank" href="http://www.black-hawk-down.dl.am">
<font color="#000000"><span style="text-decoration: none">::zum Forum::</span></font></a></font></b></font></p>
 
das liegt einfach daran, dass die SQL abfrage nur dann was unternimmt, wenn ein Datensatz schon vorhanden ist..
d.h. du musst praktisch 3 sachen machen...
du musst erst überprüfen ob es den Nick schon gibt, indem du einfach diesen Datensatz mit SELECT abrufst, wenn das TRUE ist, dann kommt deine UPDATE abfrage, wenn jedoch FALSE dann musst du INSERT verwenden..

verstanden?

edit: oh.. sehe grade, dass du es schon ähnlich machst.. ich würds aber trotzdem erst mit einer SELECT abfrage machen, bevor ich versuche etwas einzutragen und dann darauf zu schließen, wenn das nicht klappte, dass das andere gemacht werden muss.
 
Zuletzt bearbeitet:
Muuhmann schrieb:
das liegt einfach daran, dass die SQL abfrage nur dann was unternimmt, wenn ein Datensatz schon vorhanden ist..
d.h. du musst praktisch 3 sachen machen...
du musst erst überprüfen ob es den Nick schon gibt, indem du einfach diesen Datensatz mit SELECT abrufst, wenn das TRUE ist, dann kommt deine UPDATE abfrage, wenn jedoch FALSE dann musst du INSERT verwenden..

verstanden?

edit: oh.. sehe grade, dass du es schon ähnlich machst.. ich würds aber trotzdem erst mit einer SELECT abfrage machen, bevor ich versuche etwas einzutragen und dann darauf zu schließen, wenn das nicht klappte, dass das andere gemacht werden muss.


schonmal danke für die idee, aber gibt es nicht noch ne möglichkeit, meine jetzigen code, fast so zu übernehmen?
 
So habs jetzt mal mit SELECT probiert... Bei vorhandenem Nick wird ordentlich Aktualisiert, bei nicht vorhandenem Nick erscheint KEINE Fehlermeldung, jedoch taucht der neue Datensatz trotzdem nciht in der Tabelle auf? Bitte helft mir noch einmal... (Sry wenn ich euch soviel Mühe mache, aber jeder hat mal klein angefangen ;) )

lg raffiausgoslar

PHP:
<?php

	require("inc/config.inc.php");
	require("mysql_connect.php");
	
	//IP Check
	$ipsperre = FALSE;
	$sql = "SELECT
				COUNT(*) AS anzahl
			FROM
				unterschriften
			WHERE
				ip = '".$_SERVER['REMOTE_ADDR']."' ;";
	$result = mysql_query($sql) OR die(mysql_error());
	  	$row = mysql_fetch_array($result);
	  	if($row['anzahl']>0)
	  		$ipsperre = TRUE;

	
  if($ipsperre == FALSE)
  {
    if(isset($_POST))
    {
    $T17 = $_POST['T17'];
    $T1 = $_POST['T1'];
    $T2 = $_POST['T2'];
    $T3 = $_POST['T3'];
    $T4 = $_POST['T4'];
    $T5 = $_POST['T5'];
    $T6 = $_POST['T6'];
    $T7 = $_POST['T7'];
    $T8 = $_POST['T8'];
    $T9 = $_POST['T9'];
    $T10 = $_POST['T10'];
    $T11 = $_POST['T11'];
    $T12 = $_POST['T12'];
    $T13 = $_POST['T13'];
    $T14 = $_POST['T14'];
    $T15 = $_POST['T15'];
    $T16 = $_POST['T16'];
    	if((isset($T17,$T1,$T2,$T3,$T4,$T5,$T6,$T7,$T8,$T9,$T10,$T11,$T12,$T13,$T14,$T15,$T16))&&($T17!="")&&($T1!="")&&($T2!="")&&($T3!="")&&($T4!="")&&($T5!="")&&($T6!="")&&($T7!="")&&($T8!="")&&($T9!="")&&($T10!="")&&($T11!="")&&($T12!="")&&($T13!="")&&($T14!="")&&($T15!="")&&($T16!=""))
	{
	  	do
	  	{	
	  	    $query = "SELECT * FROM truppenmanager WHERE T17 LIKE '$T17' LIMIT 1;";
            
            if($query == true)
                {
               
          //Aktualisierung der Datenbank
	  	  	$errorcode = NULL;
                        
                        $sql = "UPDATE 
                        truppenmanager 
                                        SET
	  					T1 = '$T1',
	  					T2 = '$T2',
	  					T3 = '$T3',
	  					T4 = '$T4',
	  					T5 = '$T5',
	  					T6 = '$T6',
	  					T7 = '$T7',
	  					T8 = '$T8',
	  					T9 = '$T9',
	  					T10 = '$T10',
	  					T11 = '$T11',
	  					T12 = '$T12',
	  					T13 = '$T13',
	  					T14 = '$T14',
	  					T15 = '$T15',
	  					T16 = '$T16'
                                        WHERE T17 = '$T17' LIMIT 1;";
                       
                        $result = mysql_query($sql) OR FALSE;      	  		
                        if($result == FALSE)
	  		{
	  		
        $errorcode = mysql_errno();
	  	  		if($errorcode = 1146)
	  	  		{
	  	  		  	include "firststart.php";
	  	  		}else die(mysql_error()."<br> code: ".mysql_errno());

	  	  	}
                }
                
                else
                
                {
                       //Eintragung in die Datenbank

	  	  		$sql = "INSERT INTO
	  					truppenmanager
	  				SET
	  					T17 = '".addslashes(htmlspecialchars($T17))."' ,
	  					T1 = '".addslashes(htmlspecialchars($T1))."' ,
	  					T2 = '".addslashes(htmlspecialchars($T2))."' ,
	  					T3 = '".addslashes(htmlspecialchars($T3))."' ,
	  					T4 = '".addslashes(htmlspecialchars($T4))."' ,
	  					T5 = '".addslashes(htmlspecialchars($T5))."' ,
	  					T6 = '".addslashes(htmlspecialchars($T6))."' ,
	  					T7 = '".addslashes(htmlspecialchars($T7))."' ,
	  					T8 = '".addslashes(htmlspecialchars($T8))."' ,
	  					T9 = '".addslashes(htmlspecialchars($T9))."' ,
	  					T10 = '".addslashes(htmlspecialchars($T10))."' ,
	  					T11 = '".addslashes(htmlspecialchars($T11))."' ,
	  					T12 = '".addslashes(htmlspecialchars($T12))."' ,
	  					T13 = '".addslashes(htmlspecialchars($T13))."' ,
	  					T14 = '".addslashes(htmlspecialchars($T14))."' ,
	  					T15 = '".addslashes(htmlspecialchars($T15))."' ,
	  					T16 = '".addslashes(htmlspecialchars($T16))."' ,
	  					ip = '".$_SERVER['REMOTE_ADDR']."' ,
	  					datum = NOW()  ;";
	  		$result = mysql_query($sql) OR FALSE;
	  		if($result == FALSE)
	  		{
	  	  		$errorcode = mysql_errno();
	  	  		if($errorcode = 1146)
	  	  		{
	  	  		  	include "firststart.php";
	  	  		}else die(mysql_error()."<br> code: ".mysql_errno());
	  	  	}             
	  	  	}
  

                        
	  	}while($result != TRUE);
	  	echo "<h2>Vielen Dank für Deinen Eintrag!</h2><br>"; 			
	}else echo "<h2>Fehlerhafte Angaben - Bitte füllen Sie das Forumlar korrekt aus!<br>
		        <a href=\"javascript:history.back()\">zurück</a></h2>";
	}else echo "<h2>Fehler - Keine POST Übertragung</h2><br>";
  }else echo "<h2>Du hast dich soeben schon eingetragen!!!</h2><br>";  		
?>

	<p align="center"> 
		<b><font face="Arial" color="#666666">Was möchtest Du nun tun? 
	</font></b> 
	</p>
<p align="center"><font face="Arial"><b><a href="javascript:history.back()">
	<font size="2" color="#000000"><span style="text-decoration: none">::zurück zum 
Manager::</span></font></a><font size="2"><span style>&nbsp;&nbsp; </span>
<span style="text-decoration: none"><a href="list/list.php">
<font color="#000000">::Truppen ansehen::</font></a></span>&nbsp;&nbsp;
<a target="_blank" href="http://www.black-hawk-down.dl.am">
<font color="#000000"><span style="text-decoration: none">::zum Forum::</span></font></a></font></b></font></p>
 
so.. ich habe mir jetzt mal die mühe gemacht deinen ganzen Code lesbarer zu machen und bisschen abzuändern, sodass man auch ganz genau weiß, was zu was gehört.

PHP:
<?php

	require("inc/config.inc.php");
	require("mysql_connect.php");

	//IP Check
	$ipsperre = FALSE;
	$sql = "SELECT COUNT(*) AS anzahl FROM unterschriften WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
	$ip = mysql_query($sql) OR die(mysql_error());
	$row = mysql_fetch_assoc($ip); // array in assoc geändert! schneller!
	if($row['anzahl']>0) { 
		$ipsperre = TRUE;
	}
	if($ipsperre == FALSE) {
		if(isset($_POST)) {
			$T17 = $_POST['T17'];
			$T1 = $_POST['T1'];
			$T2 = $_POST['T2'];
			$T3 = $_POST['T3'];
			$T4 = $_POST['T4'];
			$T5 = $_POST['T5'];
			$T6 = $_POST['T6'];
			$T7 = $_POST['T7'];
			$T8 = $_POST['T8'];
			$T9 = $_POST['T9'];
			$T10 = $_POST['T10'];
			$T11 = $_POST['T11'];
			$T12 = $_POST['T12'];
			$T13 = $_POST['T13'];
			$T14 = $_POST['T14'];
			$T15 = $_POST['T15'];
			$T16 = $_POST['T16'];
			if((isset($T17,$T1,$T2,$T3,$T4,$T5,$T6,$T7,$T8,$T9,$T10,$T11,$T12,$T13,$T14,$T15,$T16))
			&&($T17!="")&&($T1!="")&&($T2!="")&&($T3!="")&&($T4!="")&&($T5!="")&&($T6!="")&&($T7!="")&&($T8!="")
			&&($T9!="")&&($T10!="")&&($T11!="")&&($T12!="")&&($T13!="")&&($T14!="")&&($T15!="")&&($T16!="")) {  
				$query = "SELECT * FROM truppenmanager WHERE T17 LIKE '$T17' LIMIT 1;";
				$exist = mysql_query($query); // DAS HIER HATTEST DU VERGESSEN!
				// ABGEÄNDERT! {
				if($exist == true) { 
					//Aktualisierung der Datenbank
					$errorcode = NULL;
					$up = "UPDATE truppenmanager SET T1 = '$T1', T2 = '$T2', T3 = '$T3', T4 = '$T4', T5 = '$T5', T6 = '$T6', T7 = '$T7', T8 = '$T8',
					T9 = '$T9', T10 = '$T10', T11 = '$T11', T12 = '$T12', T13 = '$T13', T14 = '$T14', T15 = '$T15', T16 = '$T16' WHERE T17 = '$T17' LIMIT 1;";
					$update = mysql_query($up) OR FALSE;                  
					if($update == FALSE) {
						$errorcode = mysql_errno();
						if($errorcode == "1146") {
							include "firststart.php";
						} else {
							die(mysql_error()."<br> code: ".mysql_errno());
						}
					} // end if $update war false + fehlermeldung
				} else { // end if $exist war true, start else $exist ist false
					//Eintragung in die Datenbank
					$ins = "INSERT INTO truppenmanager SET
						T17 = '".addslashes(htmlspecialchars($T17))."' ,
						T1 = '".addslashes(htmlspecialchars($T1))."' ,
						T2 = '".addslashes(htmlspecialchars($T2))."' ,
						T3 = '".addslashes(htmlspecialchars($T3))."' ,
						T4 = '".addslashes(htmlspecialchars($T4))."' ,
						T5 = '".addslashes(htmlspecialchars($T5))."' ,
						T6 = '".addslashes(htmlspecialchars($T6))."' ,
						T7 = '".addslashes(htmlspecialchars($T7))."' ,
						T8 = '".addslashes(htmlspecialchars($T8))."' ,
						T9 = '".addslashes(htmlspecialchars($T9))."' ,
						T10 = '".addslashes(htmlspecialchars($T10))."' ,
						T11 = '".addslashes(htmlspecialchars($T11))."' ,
						T12 = '".addslashes(htmlspecialchars($T12))."' ,
						T13 = '".addslashes(htmlspecialchars($T13))."' ,
						T14 = '".addslashes(htmlspecialchars($T14))."' ,
						T15 = '".addslashes(htmlspecialchars($T15))."' ,
						T16 = '".addslashes(htmlspecialchars($T16))."' ,
						ip = '".$_SERVER['REMOTE_ADDR']."' ,
						datum = NOW()  ;";
					$add = mysql_query($ins) OR FALSE; // Neuer Datensatz eingefügt
					if($add == FALSE) {
						$errorcode = mysql_errno();
						if($errorcode == "1146") {
							include "firststart.php";
						} else {
							die(mysql_error()."<br> code: ".mysql_errno());
						}
					} // end if $add war false +  Fehlerausgabe
				} // end else $exist war false
				echo "<h2>Vielen Dank für Deinen Eintrag!</h2><br>";             
			} else { // end if isset T1-17 etc.
				echo "<h2>Fehlerhafte Angaben - Bitte füllen Sie das Forumlar korrekt aus!<br> <a href=\"javascript:history.back()\">zurück</a></h2>";
			} // end else T1-17 nicht gesetzt etc.
		} else { // end if isset $_POST
			echo "<h2>Fehler - Keine POST Übertragung</h2><br>";
		} // end else $_POST nicht gesetzt
	} else { // end if $ipsperre FALSE
		echo "<h2>Du hast dich soeben schon eingetragen!!!</h2><br>";          
	} // end else $ipsperre TRUE
?>

<p align="center"> 
<b><font face="Arial" color="#666666">Was möchtest Du nun tun? 
</font></b> 
</p>
<p align="center"><font face="Arial"><b><a href="javascript:history.back()">
<font size="2" color="#000000"><span style="text-decoration: none">::zurück zum 
Manager::</span></font></a><font size="2"><span style>&nbsp;&nbsp; </span>
<span style="text-decoration: none"><a href="list/list.php">
<font color="#000000">::Truppen ansehen::</font></a></span>&nbsp;&nbsp;
<a target="_blank" href="http://www.black-hawk-down.dl.am">
<font color="#000000"><span style="text-decoration: none">::zum Forum::</span></font></a></font></b></font></p>


sollte jetzt eigentlich funktionieren...

du hast übrigens beim update vorgang noch ip und date vergessen upzudaten und die behandlung mit den schutzfunktionen wie beim normalen insert auch.. aber das habe ich jetzt alles nicht geändert!

ich würde mir auch was anderes für die ganzen formularfelder überlegen.. so viele Variablen überprüfungen... kann man bestimmt auch mit ner for/foreach-schleife machen
 
viele, vielen Dank für deine bemühungen, aber ich muss dich auch enttäuschen... es funktioniert immernoch nciht... Das alte Problm geupdatet wird 1a, jedoch werden "neuéinträge" nciht hinzugefügt...
 
PHP:
$query = "SELECT * FROM truppenmanager WHERE T17 LIKE '$T17' LIMIT 1;";
$exist = mysql_query($query);

dann ändere diese zeilen mal in

PHP:
$query = "SELECT * FROM truppenmanager WHERE T17 = '$T17' LIMIT 1";
$exist = mysql_query($query) OR FALSE;
 
könnte es vielleicht an der ip-sperre liegen? dass du dich selbst "rauskickst" ?

außerdem ersetz mal

bei allen mysql_query() aufrufen, das "OR FALSE" mit
PHP:
 OR DIE("Fehler<br>Datei: ".__FILE__."<br>Zeile: ".__LINE__."<br>Fehler: ".mysql_error())
 
Zuletzt bearbeitet:
sodele IP Sperre raus, und das "OR FALSE" umgeschrieben.... Klappt leider immernoch nicht... Gibt aber auch keine Fehlermeldung... Quelltext sieht momentan so aus:

PHP:
<?php

    require("inc/config.inc.php");
    require("mysql_connect.php");


        if(isset($_POST)) {
            $T17 = $_POST['T17'];
            $T1 = $_POST['T1'];
            $T2 = $_POST['T2'];
            $T3 = $_POST['T3'];
            $T4 = $_POST['T4'];
            $T5 = $_POST['T5'];
            $T6 = $_POST['T6'];
            $T7 = $_POST['T7'];
            $T8 = $_POST['T8'];
            $T9 = $_POST['T9'];
            $T10 = $_POST['T10'];
            $T11 = $_POST['T11'];
            $T12 = $_POST['T12'];
            $T13 = $_POST['T13'];
            $T14 = $_POST['T14'];
            $T15 = $_POST['T15'];
            $T16 = $_POST['T16'];
            if((isset($T17,$T1,$T2,$T3,$T4,$T5,$T6,$T7,$T8,$T9,$T10,$T11,$T12,$T13,$T14,$T15,$T16))
            &&($T17!="")&&($T1!="")&&($T2!="")&&($T3!="")&&($T4!="")&&($T5!="")&&($T6!="")&&($T7!="")&&($T8!="")
            &&($T9!="")&&($T10!="")&&($T11!="")&&($T12!="")&&($T13!="")&&($T14!="")&&($T15!="")&&($T16!="")) {  
                $query = "SELECT * FROM truppenmanager WHERE T17 = '$T17' LIMIT 1";
                $exist = mysql_query($query) OR DIE("Fehler<br>Datei: ".__FILE__."<br>Zeile: ".__LINE__."<br>Fehler: ".mysql_error())  ;  
                // ABGEÄNDERT! {
                if($exist == true) { 
                    //Aktualisierung der Datenbank
                    $errorcode = NULL;
                    $up = "UPDATE truppenmanager SET T1 = '$T1', T2 = '$T2', T3 = '$T3', T4 = '$T4', T5 = '$T5', T6 = '$T6', T7 = '$T7', T8 = '$T8',
                    T9 = '$T9', T10 = '$T10', T11 = '$T11', T12 = '$T12', T13 = '$T13', T14 = '$T14', T15 = '$T15', T16 = '$T16' WHERE T17 = '$T17' LIMIT 1;";
                    $update = mysql_query($up) OR DIE("Fehler<br>Datei: ".__FILE__."<br>Zeile: ".__LINE__."<br>Fehler: ".mysql_error())  ;                  
                    if($update == FALSE) {
                        $errorcode = mysql_errno();
                        if($errorcode == "1146") {
                            include "firststart.php";
                        } else {
                            die(mysql_error()."<br> code: ".mysql_errno());
                        }
                    } // end if $update war false + fehlermeldung
                } else { // end if $exist war true, start else $exist ist false
                    //Eintragung in die Datenbank
                    $ins = "INSERT INTO truppenmanager SET
                        T17 = '".addslashes(htmlspecialchars($T17))."' ,
                        T1 = '".addslashes(htmlspecialchars($T1))."' ,
                        T2 = '".addslashes(htmlspecialchars($T2))."' ,
                        T3 = '".addslashes(htmlspecialchars($T3))."' ,
                        T4 = '".addslashes(htmlspecialchars($T4))."' ,
                        T5 = '".addslashes(htmlspecialchars($T5))."' ,
                        T6 = '".addslashes(htmlspecialchars($T6))."' ,
                        T7 = '".addslashes(htmlspecialchars($T7))."' ,
                        T8 = '".addslashes(htmlspecialchars($T8))."' ,
                        T9 = '".addslashes(htmlspecialchars($T9))."' ,
                        T10 = '".addslashes(htmlspecialchars($T10))."' ,
                        T11 = '".addslashes(htmlspecialchars($T11))."' ,
                        T12 = '".addslashes(htmlspecialchars($T12))."' ,
                        T13 = '".addslashes(htmlspecialchars($T13))."' ,
                        T14 = '".addslashes(htmlspecialchars($T14))."' ,
                        T15 = '".addslashes(htmlspecialchars($T15))."' ,
                        T16 = '".addslashes(htmlspecialchars($T16))."' ,
                        ip = '".$_SERVER['REMOTE_ADDR']."' ,
                        datum = NOW()  ;";
                    $add = mysql_query($ins) OR DIE("Fehler<br>Datei: ".__FILE__."<br>Zeile: ".__LINE__."<br>Fehler: ".mysql_error())  ; // Neuer Datensatz eingefügt
                    if($add == FALSE) {
                        $errorcode = mysql_errno();
                        if($errorcode == "1146") {
                            include "firststart.php";
                        } else {
                            die(mysql_error()."<br> code: ".mysql_errno());
                        }
                    } // end if $add war false +  Fehlerausgabe
                } // end else $exist war false
                echo "<h2>Vielen Dank für Deinen Eintrag!</h2><br>";             
            } else { // end if isset T1-17 etc.
                echo "<h2>Fehlerhafte Angaben - Bitte füllen Sie das Forumlar korrekt aus!<br> <a href=\"javascript:history.back()\">zurück</a></h2>";
            } // end else T1-17 nicht gesetzt etc.
        } else { // end if isset $_POST
            echo "<h2>Fehler - Keine POST Übertragung</h2><br>";
        } // end else $_POST nicht gesetzt

?>

<p align="center"> 
<b><font face="Arial" color="#666666">Was möchtest Du nun tun? 
</font></b> 
</p>
<p align="center"><font face="Arial"><b><a href="javascript:history.back()">
<font size="2" color="#000000"><span style="text-decoration: none">::zurück zum 
Manager::</span></font></a><font size="2"><span style>&nbsp;&nbsp; </span>
<span style="text-decoration: none"><a href="list/list.php">
<font color="#000000">::Truppen ansehen::</font></a></span>&nbsp;&nbsp;
<a target="_blank" href="http://www.black-hawk-down.dl.am">
<font color="#000000"><span style="text-decoration: none">::zum Forum::</span></font></a></font></b></font></p>
 
füge mal bei den verschiedenen if/else-schleifen echos ein, damit du weißt, ab welcher schleife es abbricht...

ich denke mal einfach, dass du die bedingung ob updaten oder neuer datensatz abändern musst..
 
sry, aber ich habe absolut keinen plan wie/wo ich die echos einfügen muss... bitte helf mir... (entschuldige mein unwissen und meine penetranz)

lg raffiausgoslar
 
ok, hier der code...
PHP:
<?php

    require("inc/config.inc.php");
    require("mysql_connect.php");


        if(isset($_POST)) {
            $T17 = $_POST['T17'];
            $T1 = $_POST['T1'];
            $T2 = $_POST['T2'];
            $T3 = $_POST['T3'];
            $T4 = $_POST['T4'];
            $T5 = $_POST['T5'];
            $T6 = $_POST['T6'];
            $T7 = $_POST['T7'];
            $T8 = $_POST['T8'];
            $T9 = $_POST['T9'];
            $T10 = $_POST['T10'];
            $T11 = $_POST['T11'];
            $T12 = $_POST['T12'];
            $T13 = $_POST['T13'];
            $T14 = $_POST['T14'];
            $T15 = $_POST['T15'];
            $T16 = $_POST['T16'];
            echo "POST Überstanden";
            if((isset($T17,$T1,$T2,$T3,$T4,$T5,$T6,$T7,$T8,$T9,$T10,$T11,$T12,$T13,$T14,$T15,$T16))
            &&($T17!="")&&($T1!="")&&($T2!="")&&($T3!="")&&($T4!="")&&($T5!="")&&($T6!="")&&($T7!="")&&($T8!="")
            &&($T9!="")&&($T10!="")&&($T11!="")&&($T12!="")&&($T13!="")&&($T14!="")&&($T15!="")&&($T16!="")) {  
                $query = "SELECT * FROM truppenmanager WHERE T17 = '$T17' LIMIT 1";
                $exist = mysql_query($query) OR DIE("Fehler<br>Datei: ".__FILE__."<br>Zeile: ".__LINE__."<br>Fehler: ".mysql_error())  ;  
                // ABGEÄNDERT! {
                echo "Überprüfung überstanden!";
                if($exist == true) { 
                    //Aktualisierung der Datenbank
                    $errorcode = NULL;
                    $up = "UPDATE truppenmanager SET T1 = '$T1', T2 = '$T2', T3 = '$T3', T4 = '$T4', T5 = '$T5', T6 = '$T6', T7 = '$T7', T8 = '$T8',
                    T9 = '$T9', T10 = '$T10', T11 = '$T11', T12 = '$T12', T13 = '$T13', T14 = '$T14', T15 = '$T15', T16 = '$T16' WHERE T17 = '$T17' LIMIT 1;";
                    $update = mysql_query($up) OR DIE("Fehler<br>Datei: ".__FILE__."<br>Zeile: ".__LINE__."<br>Fehler: ".mysql_error())  ;                  
                    if($update == FALSE) {
                        $errorcode = mysql_errno();
                        if($errorcode == "1146") {
                            include "firststart.php";
                        } else {
                            die(mysql_error()."<br> code: ".mysql_errno());
                        }
                    } // end if $update war false + fehlermeldung
                    echo "Der Eintrag wurde ÜBERARBEITET!";
                } else { // end if $exist war true, start else $exist ist false
                    //Eintragung in die Datenbank
                    $ins = "INSERT INTO truppenmanager SET
                        T17 = '".addslashes(htmlspecialchars($T17))."' ,
                        T1 = '".addslashes(htmlspecialchars($T1))."' ,
                        T2 = '".addslashes(htmlspecialchars($T2))."' ,
                        T3 = '".addslashes(htmlspecialchars($T3))."' ,
                        T4 = '".addslashes(htmlspecialchars($T4))."' ,
                        T5 = '".addslashes(htmlspecialchars($T5))."' ,
                        T6 = '".addslashes(htmlspecialchars($T6))."' ,
                        T7 = '".addslashes(htmlspecialchars($T7))."' ,
                        T8 = '".addslashes(htmlspecialchars($T8))."' ,
                        T9 = '".addslashes(htmlspecialchars($T9))."' ,
                        T10 = '".addslashes(htmlspecialchars($T10))."' ,
                        T11 = '".addslashes(htmlspecialchars($T11))."' ,
                        T12 = '".addslashes(htmlspecialchars($T12))."' ,
                        T13 = '".addslashes(htmlspecialchars($T13))."' ,
                        T14 = '".addslashes(htmlspecialchars($T14))."' ,
                        T15 = '".addslashes(htmlspecialchars($T15))."' ,
                        T16 = '".addslashes(htmlspecialchars($T16))."' ,
                        ip = '".$_SERVER['REMOTE_ADDR']."' ,
                        datum = NOW()  ;";
                    $add = mysql_query($ins) OR DIE("Fehler<br>Datei: ".__FILE__."<br>Zeile: ".__LINE__."<br>Fehler: ".mysql_error())  ; // Neuer Datensatz eingefügt
                    if($add == FALSE) {
                        $errorcode = mysql_errno();
                        if($errorcode == "1146") {
                            include "firststart.php";
                        } else {
                            die(mysql_error()."<br> code: ".mysql_errno());
                        }
                    } // end if $add war false +  Fehlerausgabe
                    echo "Ein NEUER Eintrag wurde eingetragen!";
                } // end else $exist war false
                echo "<h2>Vielen Dank für Deinen Eintrag!</h2><br>";             
            } else { // end if isset T1-17 etc.
                echo "<h2>Fehlerhafte Angaben - Bitte füllen Sie das Forumlar korrekt aus!<br> <a href=\"javascript:history.back()\">zurück</a></h2>";
            } // end else T1-17 nicht gesetzt etc.
        } else { // end if isset $_POST
            echo "<h2>Fehler - Keine POST Übertragung</h2><br>";
        } // end else $_POST nicht gesetzt

?>

<p align="center"> 
<b><font face="Arial" color="#666666">Was möchtest Du nun tun? 
</font></b> 
</p>
<p align="center"><font face="Arial"><b><a href="javascript:history.back()">
<font size="2" color="#000000"><span style="text-decoration: none">::zurück zum 
Manager::</span></font></a><font size="2"><span style>&nbsp;&nbsp; </span>
<span style="text-decoration: none"><a href="list/list.php">
<font color="#000000">::Truppen ansehen::</font></a></span>&nbsp;&nbsp;
<a target="_blank" href="http://www.black-hawk-down.dl.am">
<font color="#000000"><span style="text-decoration: none">::zum Forum::</span></font></a></font></b></font></p>


So und das erste was du jetzt machst, ist zu versuchen einen neuen Eintrag hinzuzufügen, und wenn du dann "Ein NEUER Eintrag wurde hinzugefügt!" da stehen hast, muss der Fehler im Query liegen, wenn du aber, OBWOHL du absichtlich alles so gewählt hast, dass KEIN Eintrag überarbeitet werden konnte, da stehen hast "Der Eintrag wurde ÜBERARBEITET!", dann weißt du, dass die Bedingung ob Neu oder Update falsch ist.


Edit:

Ok, ich hab die Lösung. Habe mir hier mal dein Formular erstellt und geguckt woran es lag.. Es war eigentlich genau das, was ich als nächstes Vorgeschlagen hätte:

Ändere diese Zeilen:

PHP:
                $query = "SELECT * FROM truppenmanager WHERE T17 = '$T17' LIMIT 1";
                $exist = mysql_query($query) OR DIE("Fehler<br>Datei: ".__FILE__."<br>Zeile: ".__LINE__."<br>Fehler: ".mysql_error()); 
                // ABGEÄNDERT! {
                if($exist == true) {

in diese Zeilen:

PHP:
                $query = "SELECT * FROM truppenmanager WHERE T17 = '$T17' LIMIT 1";
                $exist = mysql_query($query) OR DIE("Fehler<br>Datei: ".__FILE__."<br>Zeile: ".__LINE__."<br>Fehler: ".mysql_error()); 
				$res = mysql_fetch_assoc($exist);
                // ABGEÄNDERT! {
                if($res == true) {

Das sollte es dann gewesen sein!


Es dürfte ja klar sein, dass du jetzt die Echos nicht mehr hinzufügen musst. Und die Kommentare in der PHP-Datei ( // end else) kannst du wenn du möchtest auch weg tun..
 
Zuletzt bearbeitet:

Ähnliche Themen

Zurück
Oben