mkapate
Goto Top

Formular ausgabe wird nicht in der DB gespeichert

Hallo,

habe eine DB mit Xampp angelegt.

Diese lasse ich mir über ...

<?php
	require_once ('0konfiguration.php');  
	$db_link 
	= mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
?>

<?php

	$sql = " SELECT * FROM kundenadressen ";  
	$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
    die('Ungültige Abfrage: ' . mysql_error());  
}

echo '<table border="0">';  
while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
 
   echo "<tr>";  

    // hier kommt noch was :)



    echo "<td>". $zeile['id'] . "</td>";  
    echo "<td>". $zeile['firma'] . "</td>";  
    echo "<td>". $zeile['anrede'] . "</td>";  
    echo "<td>". $zeile['nachname'] . "</td>";  
    echo "<td>". $zeile['vorname'] . "</td>";  
    echo "<td>". $zeile['anschrift'] . "</td>";  
    echo "<td>". $zeile['plz'] . "</td>";  
    echo "<td>". $zeile['ort'] . "</td>";  
    echo "<td>". $zeile['handy'] . "</td>";  
    echo "<td>". $zeile['festnetz'] . "</td>";  
    echo "<td>". $zeile['email'] . "</td>";  
    echo "<td>". $zeile['aufgaben'] . "</td>";  
   
    echo "</tr>";  
}
echo "</table>";  
mysql_free_result( $db_erg );
?>


     <a href="tabelleKundeneingabe.php">neue Adresse anlegen</a>  

ausgeben.

Per klick auf neue Adresse anlegen öffnet sich eine neue Seite

Auf der neu Seite,
gebe ich dann einen neuen Kunden ein ...

<form action="tabelleKundeneingabeErfolgreich.php" method="POST" >  

<p>Firma:<br />
<input type="text" name="firma" value="" size="60" />  
</p>

<p>Anrede:<br />
<input type="radio" name="anrede" value="Frau" /> Frau  
<input type="radio" name="anrede" value="Herr" /> Herr  
</p>

<p>Nachname:<br />
<input type="text" name="nachname" value="" size="60" />  
</p>

<p>Vorname:<br />
<input type="text" name="vorname" value="" size="60" />  
</p>

<p>Anschrift:<br />
<input type="text" name="anschrift" value="" size="60" />  
</p>

<p>PLZ:<br />
<input type="text" name="plz" value="" size="15" />  
</p>

<p>Ort:<br />
<input type="text" name="ort" value="" size="60" />  
</p>

<p>Handy:<br />
<input type="varchar" name="handy" value="" size="60" />  
</p>

<p>Festnetz:<br />
<input type="varchar" name="festnetz" value="" size="60" />  
</p>

<p>EMail:<br />
<input type="text" name="email" value="" size="60" />  
</p>

<p>Aufgaben:<br />
<input type="text" name="aufgaben" value="" size="60" />  
</p>

<input type="Submit" name="tabelleKundeneingabeErfolgreich.php" value="speichern" />  
</form>

diese Daten,
sollen mit dem betätigen des Speicher Button
an die nächste seite übermittelt ....


<?php

ini_set('display_errors' , 'On');  
error_reporting(E_ALL);

	require_once ('0konfiguration.php');  
	$db_link 
	= mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
?>

<?php
$sql="INSERT INTO kundenadressen ('firma', 'anrede', 'nachname' , 'vorname' , 'anschrift' , 'plz' ,   
				  'ort' , 'handy' , 'festnetz' , 'email' , 'aufgaben')  
		VALUES (
        '{$_POST['firma']}',  
        '{$_POST['anrede']}',  
        '{$_POST['nachname']}',   
        '{$_POST['vorname']}',  
        '{$_POST['anschrift']}',   
        '{$_POST['plz']}',  
        '{$_POST['ort']}',  
        '{$_POST['handy']}',  
        '{$_POST['festnetz']}',  
        '{$_POST['email']}',  
        '{$_POST['aufgaben']}');   
?>

und von dort dann in die DB gespeichert werden.

Bekomme aber auf der letzten seite diese Fehlermeldung

Parse error: syntax error, unexpected $end in C:\xampp\htdocs\tabelleKundeneingabeErfolgreich.php on line 26


Habe ich einen Denkfehler?
Wäre toll wenn mal jemand rüberschauen kann.

Danke! Gruß Verena

Content-Key: 186908

Url: https://administrator.de/contentid/186908

Ausgedruckt am: 29.03.2024 um 11:03 Uhr

Mitglied: SlainteMhath
SlainteMhath 22.06.2012 um 12:49:32 Uhr
Goto Top
Moin,

Parse error: syntax error, unexpected $end in C:\xampp\htdocs\tabelleKundeneingabeErfolgreich.php on line 26
Habe ich einen Denkfehler?
Nein, einen Syntax-Fehler. Was steht denn in der datei in Zeile 26?

Und als Tipp nebenbei:
Die Verwendung von POST variablen ala
$_POST['firma']  
direkt und ungeprüft in SQL Statements führt zu SQL Injection Attacken: http://en.wikipedia.org/wiki/SQL_injection

lg,
Slainte

P.S. Bnutz' doch bitte code-tags, dann kann man deinen Sourcecode auch ohne Kopfschmerzen lesen
Mitglied: mkapate
mkapate 22.06.2012 um 13:34:07 Uhr
Goto Top
Zitat von @SlainteMhath:

Und als Tipp nebenbei:
Die Verwendung von POST variablen ala
> $_POST['firma']  
> 

gut ok.

also hier nochmal, abfrage oder ausgabe der Kundendaten in eine Tabelle

<?php
	require_once ('0konfiguration.php');  
	$db_link 
	= mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
?>

<?php

	$sql = " SELECT * FROM kundenadressen ";  
	$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
    die('Ungültige Abfrage: ' . mysql_error());  
}



echo '<table border="0">';  
while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
 
   echo "<tr>";  

    // hier kommt noch was :)



    echo "<td>". $zeile['id'] . "</td>";  
    echo "<td>". $zeile['firma'] . "</td>";  
    echo "<td>". $zeile['anrede'] . "</td>";  
    echo "<td>". $zeile['nachname'] . "</td>";  
    echo "<td>". $zeile['vorname'] . "</td>";  
    echo "<td>". $zeile['anschrift'] . "</td>";  
    echo "<td>". $zeile['plz'] . "</td>";  
    echo "<td>". $zeile['ort'] . "</td>";  
    echo "<td>". $zeile['handy'] . "</td>";  
    echo "<td>". $zeile['festnetz'] . "</td>";  
    echo "<td>". $zeile['email'] . "</td>";  
    echo "<td>". $zeile['aufgaben'] . "</td>";  
   
    echo "</tr>";  
}
echo "</table>";  
mysql_free_result( $db_erg );
?>

                 <a href="tabelleKundeneingabe.php">neue Adresse anlegen</a>  

wechsel auf nächste Seite,
zur neu Kunden eingabe

<form action="tabelleKundeneingabeErfolgreich.php" method="POST" >  

<p>Firma:<br />
<input type="text" name="firma" value="" size="60" />  
</p>

<p>Anrede:<br />
<input type="radio" name="anrede" value="w" /> Frau  
<input type="radio" name="anrede" value="m" /> Herr  
</p>

<p>Nachname:<br />
<input type="text" name="nachname" value="" size="60" />  
</p>

<p>Vorname:<br />
<input type="text" name="vorname" value="" size="60" />  
</p>

<p>Anschrift:<br />
<input type="text" name="anschrift" value="" size="60" />  
</p>

<p>PLZ:<br />
<input type="text" name="plz" value="" size="15" />  
</p>

<p>Ort:<br />
<input type="text" name="ort" value="" size="60" />  
</p>

<p>Handy:<br />
<input type="varchar" name="handy" value="" size="60" />  
</p>

<p>Festnetz:<br />
<input type="varchar" name="festnetz" value="" size="60" />  
</p>

<p>EMail:<br />
<input type="text" name="email" value="" size="60" />  
</p>

<p>Aufgaben:<br />
<input type="text" name="aufgaben" value="" size="60" />  
</p>

<input type="Submit" name="tabelleKundeneingabeErfolgreich.php" value="speichern" />  
</form>

*****************************************************************

mit Speicher Button dann auf die Ausgabeseite

wo ich gerde fest gestellt habe,
das ein " fehlte.


<?php

ini_set('display_errors' , 'On');  
error_reporting(E_ALL);

	require_once ('0konfiguration.php');  
	$db_link 
	= mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
?>

<?php

ini_set('display_errors' , 'On');  
error_reporting(E_ALL);

    require_once ('0konfiguration.php');  
    $db_link 
    = mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
?>

<?php
$sql="INSERT INTO kundenadressen (firma, anrede, nachname , vorname , anschrift , plz ,   
                  ort , handy , festnetz , email , aufgaben)
        VALUES (
        '{$_POST['firma']}',  
        '{$_POST['anrede']}',  
        '{$_POST['nachname']}',   
        '{$_POST['vorname']}',  
        '{$_POST['anschrift']}',   
        '{$_POST['plz']}',  
        '{$_POST['ort']}',  
        '{$_POST['handy']}',  
        '{$_POST['festnetz']}',  
        '{$_POST['email']}',  
        '{$_POST['aufgaben']}')";   
?>

Jetzt bekomme ich zwar keine Fehlermeldung mehr
aber in die DB wird immer noch nicht geschrieben.

Was gibt es noch für möglichkeiten
oder andere ansätze um in die DB zu speichern?

Danke! Gruß Verena
Mitglied: SlainteMhath
SlainteMhath 22.06.2012 um 13:38:30 Uhr
Goto Top
Also entweder du hast Code weggelassen, oder du führst den Inhalt von $sql tatsächlich nicht am MySQL Server aus face-smile
Mitglied: mkapate
mkapate 22.06.2012 um 13:44:25 Uhr
Goto Top
Zitat von @SlainteMhath:
Also entweder du hast Code weggelassen, oder du führst den Inhalt von $sql tatsächlich nicht am MySQL Server aus face-smile



Was würde ich den deiner Meinung nach weg lassen?
Mitglied: SlainteMhath
SlainteMhath 22.06.2012 um 13:47:28 Uhr
Goto Top
Was würde ich den deiner Meinung nach weg lassen?
mysql_query($sql);
Mitglied: mkapate
mkapate 22.06.2012 um 13:54:22 Uhr
Goto Top
Zitat von @SlainteMhath:

> mysql_query($sql);
> 

Halt mich jetzt bitte nicht für doof,
aber wo soll das den dann stehen?

<?php

ini_set('display_errors' , 'On');  
error_reporting(E_ALL);

	require_once ('0konfiguration.php');  
	$db_link 
	= mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
?>

<?php

ini_set('display_errors' , 'On');  
error_reporting(E_ALL);

    require_once ('0konfiguration.php');  
    $db_link 
    = mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
?>

<?php

mysql_query $sql="INSERT INTO kundenadressen (firma, anrede, nachname , vorname , anschrift , plz ,   
                  ort , handy , festnetz , email , aufgaben)
        VALUES (
        '{$_POST['firma']}',  
        '{$_POST['anrede']}',  
        '{$_POST['nachname']}',   
        '{$_POST['vorname']}',  
        '{$_POST['anschrift']}',   
        '{$_POST['plz']}',  
        '{$_POST['ort']}',  
        '{$_POST['handy']}',  
        '{$_POST['festnetz']}',  
        '{$_POST['email']}',  
        '{$_POST['aufgaben']}')";   
?>
Mitglied: SlainteMhath
SlainteMhath 22.06.2012 um 14:06:52 Uhr
Goto Top
Halt mich jetzt bitte nicht für doof,
aber wo soll das den dann stehen?
In Zeile 37, vor dem "?>".
Du baust zwar dein INSERT in der Variablen $sql zusammen, aber sendest den Inhalt nicht an den MySQL Server. Oder wie soll der wissen was er machen soll? face-smile
Mitglied: mkapate
mkapate 22.06.2012 um 14:22:21 Uhr
Goto Top
Zitat von @SlainteMhath:

In Zeile 37, vor dem "?>".
Du baust zwar dein INSERT in der Variablen $sql zusammen, aber sendest den Inhalt nicht an den MySQL Server. Oder wie soll der
wissen was er machen soll? face-smile


Ick werd ja irre...

Danke, es funktioniert face-smile