mal wieder ich

  • #1
F

Fooulaz

Aktives Mitglied
Themenersteller
Dabei seit
31.08.2006
Beiträge
43
Reaktionspunkte
0
Hallo!

Bin grad dabei mir ein Gästebuch zu programmieren.
Hab dazu natürlich ein Formular erstellt. Nun will ich, dass das Eingetragene in die Datenbank gesendet wird,
wenn der Submit-Button gedrückt wird.
es soll also so ungefähr aussehen:

Code:
<?php
if (/* Der Button wird gedrückt*/) { INSERT INTO .../*den SQL Befehl hab ich schon stehen*/ }
/* Mir fehlt also hierzu^^^^^(=Pfeile) der richtige Ausdruck*/
               /*  l l l l l */

Kann mir jemand helfen?

Mfg
Fooulaz
 
  • #2
Code:
<?php
/**
 * Wenn auf->Speichern' geklickt wurde
*/
if ($_POST[speichern]) { 
	/**
	 * Gültigkeitsprüfung
	*/
	$err = false;	# Hilfsvariable
	
	if(!$_POST[feld_1]) {
		# In Feld 1 steht nix drinn, also FEHLER
		$err = true;
	}	
	if(!$_POST[feld_2]) {
		# In Feld 2 steht nix drinn, also FEHLER
		$err = true;
	}
	/**
	 * Keine Fehler, also speichern
	*/
	if(!$err) {
		$query = INSERT INTO tabellenname SET
			  . \n feld_1='$_POST[feld_1]'
			  . \n feld_2='$_POST[feld_2]';
		mysql_query($query);		
	}
	/**
	 * Es wurden Fehler gefunden
	*/
	else {
		echo Mist gebaut ;-);
	}
}
?>

 
  • #3
OK :-\
Habs mal versucht umzusetzen und meinen Code gändert. Sieht so aus:

Code:
<?php 
echo <h1 align=\center\>GUESTBOOK</h1></td></tr><br />\n;

	echo <tr><td >;	
	echo <form action=\FooulazGUESTBOOK.php\ method=\POST\>Name:<br /><input name=\Autor\ type=\text\ size=\25\ maxlength=\25\><br /><br />\n;
	echo E-Mail:<br /><input name=\EMail\ type=\text\ size=\25\ maxlength=\60\><br /><br />\n;
	echo </td><td>;
	echo Homepage:<br /><input name=\Homepage\ type=\text\ size=\25\ maxlength=\60\><br /><br />\n; 
	echo Betreff:<br /><input name=\Titel\ type=\text\ size=\25\ maxlength=\60\><br /><br />\n;
	echo </td></tr><tr><td colspan=\2\>;
	echo Eintrag:<br /><textarea name=\Inhalt\ cols=\55\ rows=\15\></textarea></p>\n;
	echo <input type=\submit\ value=\Eintragen\>\n;
	echo <input type=\reset\ value=\RESET\><br /><br /><br /></form></td></tr></table>\n;
	
	if ($_POST('Eintragen')) {  /*<-----********Line 56*****/
	
	include ../../php_includes/konfigurationfooulaz.php;
	
	$err = false;

	if (!isset($_POST['Autor'], $_POST['Titel'], $_POST['Homepage'],
		  $_POST['Inhalt'], $_POST['EMail']))
	{ die(Bitte das Formular ausfüllen!<br /><a href=\guestbook.php\>---Zum Inhalt---</a>\n); 
		$err=true; }
	
	if(trim($_POST['Autor'] ==  ))
	{ die(Bitte einen Namen eingeben!<br /><a href=\guestbook.php\>---Zum Inhalt---</a>\n); 
		$err=true; }

	if(trim($_POST['Inhalt'] ==  ))
	{ die(Bitte einen Text eingeben!<br /><a href=\guestbook.php\>---Zum Inhalt---</a>\n);
		$err=true; }



	if(get_magic_quotes_gpc()) {
	  array_stripslashes($_POST);
	  array_stripslashes($_GET);
	  array_stripslashes($_COOKIE);
	}
	
	
	if(!$err) {  $intabelle= INSERT INTO gb (Autor, EMail, Homepage, Titel, Inhalt, Datum, Uhrzeit)
			VALUES
				('.addslashes(htmlspecialchars($_POST['Autor'])).',
					'.addslashes(htmlspecialchars($_POST['EMail'])).',
					'.addslashes(htmlspecialchars($_POST['Homepage'])).',
					'.addslashes(htmlspecialchars($_POST['Titel'])).',
					'.addslashes(htmlspecialchars($_POST['Inhalt'])).',
					NOW(), NOW() );

	$x=mysql_query($intabelle) OR die (DSNIDT, da: .mysql_error()); }
	
	if (mysql_query($intabelle)) {
	echo Eintrag abgesendet!<br />\n;} }
	echo <a href=\guestbook.php\>---Zum Inhalt---</a>\n;
?>


Kommt jedoch Fehlermeldung:

Fatal error: Function name must be a string in C:\Server\htdocs\Fooulaz\FooulazGUESTBOOK.php on line 56

?:) :?
 
  • #4
*hüstel, räusper*

Code:
<?php
....
....
if ($_POST('Eintragen')) {  /*<-----********Line 56*****/
....
....

Fällt mir dazu ein => Der gerade Kurve, die gerade Kurve, das gerade Kurve

soll heißen, eckige Klammer oder runde Klammer, dass ist hier die Frage mml

Nachtrag:

Warum 2x mysql_query(); ????????????????????????????????????
 
  • #5
OJE!! o_O

Ok habs geändert!
Jedoch:
Fülle das Formular aus, gehe auf Eintragen und das Eingetragene verschwindet.
Es wird aber nicht ausgegeben: Eintrag abgesendet.
Es steht dann auch nichts im Inhalt des Gästebuchs! Auch nichts in der Datenbank in Mysql!

Das heißt die If Schleife wird nicht ausgeführt!
Hab grad keinen Plan was ich ändern muss!
Wenn ich diese Abfrage danach, ob der Button gedrückt wurde oder nicht, weglasse, dann sendet er mir den Eintrag doppelt ins Gästebuch und Datenbank!
:idiot2:
 
  • #6
Fooulaz schrieb:
dann sendet er mir den Eintrag doppelt ins Gästebuch und Datenbank!

Aja ;)

PCDConny schrieb:
Warum 2x mysql_query(); ????????????????????????????????????

Achso mml mml

Das heißt die If Schleife wird nicht ausgeführt!

Welche ?? ??? ??


BTW, das bringt nicht nur NIX, sondern GARNIX ;)
Code:
<?php
...
...
	if(trim($_POST['Autor'] ==  )) { 
		die(Bitte einen Namen eingeben!<br /><a href=\guestbook.php\>---Zum Inhalt---</a>\n);
		$err=true; 
	}

...
...
?>

Entweder
=> die();
oder
=> $err=true;

so wie es jetzt ist, stirbt (die) er bevor $err auf true gesetzt werden kann ;)
 
  • #7
Das heißt die If Schleife wird nicht ausgeführt!

Welche ??  ??

Diese Schleife wird erst gar nicht ausgeführt (denk ich mal):
Code:
<?php if ($_POST('Eintragen')) {    /*usw. */  ?>

Warum?

So besser?
Code:
<?php
if(trim($_POST['Autor'] ==  ))
	{  $err=true; echo Bitte einen Namen eingeben!<br /><a href=\guestbook.php\>---Zum Inhalt---</a>\n;
?>

SQL_QUERY hab ich dann auch mal enfernt! ::)

Trotz allen Änderungen : wird immer noch nichts ausgegeben !Also Schleife wird nicht ausgeführt!
 
  • #8
Fooulaz schrieb:
Trotz allen Änderungen : wird immer noch nichts ausgegeben !Also Schleife wird nicht ausgeführt!

Kann auch nicht :°

$_POST[Eintragen] wird ja auch nicht gesendet ;)

so gehts besser => <input type=submit name=Eintragen value=Eintragen>

Schau dir mal mein Beispiel genau an (habs allerdings nicht getestet, nur mal gschwind frei Hand erstellt)

Code:
<?php
function cleanInput($txt) {
	$txt = strip_tags($txt);
	$txt = htmlspecialchars($txt);
	$txt = addslashes($txt);
	return $txt;
}

if($_POST[Eintragen]) {
	include ../../php_includes/konfigurationfooulaz.php;

	$err = ;

	if(trim($_POST['Autor'] ==  )) { 
		$err .= <li>Bitte einen Namen eingeben!</li>;
	}

	if(trim($_POST['Inhalt'] ==  )) { 
		$err .= <li>Bitte einen Text eingeben!;
	}

	if($err == ) {  
		$intabelle = INSERT INTO gb SET
							 . \n Autor =->. cleanInput($_POST[Autor]) .', 
							 . \n EMail =->. cleanInput($_POST[EMail]) .', 
							 . \n Homepage =->. cleanInput($_POST[Homepage]) .', 
							 . \n Titel =->. cleanInput($_POST[Titel]) .', 
							 . \n Inhalt =->. cleanInput($_POST[Inhalt]) .', 
							 . \n Datum = NOW(), 
							 . \n Uhrzeit = NOW();

		if(mysql_query($intabelle)) {
			echo->Eintrag abgesendet!<br />';
			echo-><a href=guestbook.php>---Zum Inhalt---</a><br />';
		}
		else {
			$err =-><ul>'. $err .'</ul>';			
		}
	}
}
?>

<?php
if( !$_POST[Eintragen] || ($_POST[Eintragen] && $err != ) ) {
	if(get_magic_quotes_gpc()) {
		 array_stripslashes($_POST);
		 array_stripslashes($_GET);
		 array_stripslashes($_COOKIE);
	}
?>

<style type=text/css>
	li { color:#FF0000; }
</style>

<form action=FooulazGUESTBOOK.php method=POST>
<table>
	<tr>
		<td colspan=2>
			<h1 align=center>GUESTBOOK</h1>
		</td>
	</tr>
	<tr>
		<td colspan=2>
			<?php echo $err; ?>
		</td>
	</tr>
	<tr>
		<td>
			Name:<br />
			<input name=Autor type=text size=25 maxlength=25 value=<?php echo $_POST[Autor]; ?>><br /><br />
			E-Mail:<br />
			<input name=EMail type=text size=25 maxlength=60 value=<?php echo $_POST[EMail]; ?>><br /><br />
		</td>
		<td>
			Homepage:<br />
			<input name=Homepage type=text size=25 maxlength=60 value=<?php echo $_POST[Homepage]; ?>><br /><br />
			Betreff:<br />
			<input name=Titel type=text size=25 maxlength=60 value=<?php echo $_POST[Titel]; ?>><br /><br />
		</td>
	</tr>
	<tr>
		<td colspan=2>
			Eintrag:<br />
			<textarea name=Inhalt cols=55 rows=15><?php echo $_POST[Inhalt]; ?></textarea>
			<br />
			<input type=submit name=Eintragen value=Eintragen>
			<input type=reset value=RESET><br /><br /><br />
		</td>
	</tr>
</table>
</form>
<?php
}
?>
 
  • #9
;D ;D ;D ;D
Es klappt! Dem Submit einen Namen geben!!!!Toll!!!! :1

Muss mal ein Lob aussprechen!!!
Hier bekommt man wirklich weitergeholfen (sogar so ein Anfänger wie ich)!
Super Forum!!!! :1 O0 :T :V

Wenn meine Website dann irgendwann mal fertig ist (Bis auf Gästebuch, ist mir Inhalt noch unklar),
werde ich euer Forum und Win Total natürlich bei mir verlinken!

Danke!!!! :)


Mfg
Fooulaz
 
Thema:

mal wieder ich

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.965
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben