mal wieder ich

Dieses Thema mal wieder ich im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Fooulaz, 6. Sep. 2006.

Thema: mal wieder ich Hallo! Bin grad dabei mir ein Gästebuch zu programmieren. Hab dazu natürlich ein Formular erstellt. Nun will ich,...

  1. 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. Aja ;)

    Achso mml mml

    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. 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. 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
     
Die Seite wird geladen...