php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.09.2007, 03:11  
Neuer Benutzer
 
Registriert seit: 04.09.2007
Beiträge: 10
timo_81
Standard Speichern einer Telefonliste mit PHP in einer Datenbank

Hi,
ich lese gerade Bücher zu MySQL und zu PHP und wollte mich an mein erstes Projekt ranwagen.
Es ist ein abgewandeltes 'Gästebuch'-Beispiel aus einem Buch und soll nur ein paar Eingaben aus einem Formular in einer Datenbank mittels PHP und MySql speichern.

Wenn ich das Skript ausführen will sagt er das eine } Klammer unexpected sei.
(Es handelt sich um die letzte schließende } Klammer im Code.

Hier ist mein Code (wie gesagt bin noch ziemlicher Newbie also habt Gnade mit mir )

Code:
<html><head>
<title>Telefonliste</title>
</head><body>

//Überschrift
<h1>Telefonliste</h1>


//Hier beginnt der PHP-Teil

if($_POST['flag']==1) //Formular wurde abgeschickt
{

//Leerstellen von Eingabe entfernen
//************************************************
$_POST['vorname']=trim($_POST['vorname']);
$_POST['nachname']=trim($_POST['nachname']);
$_POST['telefon']=trim($_POST['telefon']);
$_POST['handy']=trim($_POST['handy']);
$_POST['email']=trim($_POST['email']);

//HTML-Code entfernen
$_POST['vorname']=strip_tags($_POST['vorname']);
$_POST['nachname']=strip_tags($_POST['nachname']);
$_POST['telefon']=strip_tags($_POST['telefon']);
$_POST['handy']=strip_tags($_POST['handy']);
$_POST['email']=strip_tags($_POST['email']);


//Sonderzeichen ersetzen
$_POST['vorname']=htmlentities($_POST['vorname']);
$_POST['nachname']=htmlentities($_POST['nachname']);
$_POST['telefon']=htmlentities($_POST['telefon']);
$_POST['handy']=htmlentities($_POST['handy']);
$_POST['email']=htmlentities($_POST['email']);

//************************************************


//Sind die Felder ausgefüllt?
//************************************************
if(!$_POST['vorname']){$fehler="Bitte geben Sie einen Vornamen ein.
";}
if(!$_POST['nachname']){$fehler="Bitte geben Sie einen Nachnamen ein.
";}
if(!$_POST['telefon']){$fehler="Bitte geben Sie eine Telefonnummer an.
";}
if(!$_POST['handy']){$fehler="Bitte geben Sie eine Handynummer an.
";}
if(!$_POST['email']){$fehler="Bitte geben Sie eine Emailadresse an.
";}

//*************************************************

//Es wurden Fehler gefunden
//***************************************************
if($fehler)
{
$meldung="<h2><font color red>" .$fehler."</font></h2>;
unset($_POST['flag'];
}
//**************************************************

//Es wurden keine Fehler gefunden
//**************************************************
else

//Mit Datenbank verbinden
$link=mysql_connect("localhost","meinbenutzername","meinpasswort");
mysql_select_db("telefon",$link);
$tabellenname="liste";

//SQL-String

$sql="INSERT INTO $tabellenname (vorname,nachname,telefon,handy) values ( '".mysql_real_escape_string($_POST['vorname'],$link)."','".mysql_real_escape_string($_POST['nachname'],$link). "','".mysql_real_escape_string($_POST['telefon'],$link)."','".mysql_real_escape_string($_POST['handy'],$link). "','".myssql_real_escape_string($_POST['email'],$link)."' ,now())";

//SQL->Datenbank
mysql_query($sql,$link);
$meldung="<h2><font color=red>Eingaben wurden in der Datenbank gespeichert.</font>
</h2>;}

//Ausgabe
echo $meldung;} //Ende $_POST['flag']==1
//**************************************************
if(!$_POST['flag'])
{
//Formular
//*********************************************************

?>
<form action="<?php $_SERVER['PHP_SELF'];?>" method="post">
<input type="hidden" name="flag" value="1">



Vorname
<input type="text" name="vorname" value="<?php echo $_POST['vorname']; ?>"></p>



Nachname
<input type="text" name="nachname" value="<?php echo $_POST['nachname']; ?>"></p>



Telefon
<input type="text" name="telefon" value="<?php echo $_POST['telefon']; ?>"></p>



Handy
<input type="text" name="handy" value="<?php echo $_POST['handy']; ?>"></p>



Email
<input type="text" name="handy" value="<?php echo $_POST['email']; ?>"></p>

<input type="submit" value="In Datenbank eintragen">
</form>
<?php
}
?>
</body></html>
//**********************************************************
Meine DB ist: telefon und die tabelle heisst liste[/code]


Edit by Zergling: Umbruch erzwungen
__________________
Gruß & Vielen Dank
Timo
timo_81 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.09.2007, 08:59  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Hallo und willkommen unter den PHPlern

deine Problematik besteht darin das du PHP und HTML Code sauber voneinander trennen musst. PHP Code darf nur zwischen <?php und ?> stehen und dazwischen darf auch kein unbehandeltes HTML kommen. Du hast zum Beispiel bei "Hier beginnt der PHP Teil" kein <?php gemacht und das erklärt auch die Fehlermeldung. Denn der PHP-Parser sieht nur die letzte Klammer und die ist damit für ihn überflüssig = unexpected.

Rechtsklick im Browser -> Quelltext anzeigen ... das hätte die schon geholfen, denn dort darf auf keinen Fall PHP-Code zu sehen sein, sonst wurde er nicht interpretiert.

Zitat:
if($fehler)
{
$meldung="<h2><font color red>" .$fehler."</font></h2>;
unset($_POST['flag'];
}
da sind auch einige Fehler drin. Jedes " was du aufmachst musst du auch wieder zu machen. Das gleiche gilt auch für ( und {

Eigentlich logisch oder?

Wünsch dir noch viel spaß und hoffe ich konnte dir helfen

Gruß
CyCap
cycap ist offline  
Alt 04.09.2007, 09:45  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo und willkommen hier im Forum!

Bitte benutz die PHP-BBCode Tags für PHP-Code, darin ist ein Syntax-Highlighting enthalten, der Fehler läßt sich dadurch sehr schnell finden.
Außerdem solltest du deinen Code einrücken, pro geschweifte Klammer auf, einen Tab oder 2-4 Leerzeichen nach vorne. Dadurch vermeidest du Klammer-Fehler, die in einem großen Code-Block sonst manchmal garnicht so leicht zu finden sind.

1:
PHP-Code:
<?php
if(!$_POST['vorname']){$fehler="Bitte geben Sie einen Vornamen ein.
"
;} 
// daraus sollte
if(!$_POST['vorname']) { 
    
$fehler="Bitte geben Sie einen Vornamen ein.
"
;
}
// werden, soviel Platz muss sein
?>
2:
PHP-Code:
<?php
//Es wurden keine Fehler gefunden
//**************************************************
else

//Mit Datenbank verbinden
$link=mysql_connect("localhost","meinbenutzername","meinpasswort");
mysql_select_db("telefon",$link);
?>
Das macht keinen Sinn, die geschweifte Klammer nach else fehlt. Andernfalls wird nur der nächste Block ausgeführt (mysql_connect), mysql_connect und mysql_select_db gehören aber zusammen.

3:
PHP-Code:
<?php
//Ausgabe
echo $meldung;}
?>
Ganz schlechter Stil, wie gesagt, Code nach einer geschweiften Klammer einrücken, und wieder nach der schließenden geschweiften Klammer ausrücken. Schließende geschweifte Klammern gehören in eine eigene Zeile. Vielleicht interessiert dich dies hier:
http://pear.php.net/manual/en/standards.php
http://framework.zend.com/manual/en/...-standard.html

Am Schluss würde ich dich noch bitten, die Forenregeln zu lesen und dich grob daran zu halten! Danke und viel Spass hier
http://www.phpfriend.de/forum/ftopic57083.html
http://www.phpfriend.de/forum/ftopic62595.html
Zergling-new ist offline  
Alt 04.09.2007, 10:17  
Neuer Benutzer
 
Registriert seit: 04.09.2007
Beiträge: 10
timo_81
Standard

Hi,
danke für die schnellen Antworten...das ist zu 75% von einem Buchbeispiel...als ist der Stil wohl eher von denen schlecht

Werden versuchen alles umzusetzen!
__________________
Gruß & Vielen Dank
Timo
timo_81 ist offline  
Alt 04.09.2007, 10:57  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von timo_81
Hi,
danke für die schnellen Antworten...das ist zu 75% von einem Buchbeispiel...als ist der Stil wohl eher von denen schlecht

Werden versuchen alles umzusetzen!
Ich will nicht ins OT geraten, aber WTH!!, wie heißt das Buch?!

Grüße
Da Psy
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline  
Alt 04.09.2007, 13:03  
Neuer Benutzer
 
Registriert seit: 04.09.2007
Beiträge: 10
timo_81
Standard

Hi ,
"PHP 5 & MySQL 4.1" von Markt und Technik
Listing 12.3

Seite 278 ff.
__________________
Gruß & Vielen Dank
Timo
timo_81 ist offline  
Alt 04.09.2007, 13:22  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Dann kauf ich mir das schon mal nicht xD
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline  
Alt 04.09.2007, 16:20  
Neuer Benutzer
 
Registriert seit: 04.09.2007
Beiträge: 10
timo_81
Standard

Zitat:
Zitat von PsychoEagle
Dann kauf ich mir das schon mal nicht xD
Könntet ihr mir ein kleines Besipiel posten, wie ich dieses kleine Telefonbeispiel das ich mir ausgedacht hab, realisieren könnte?

Es klappt irgendwie nicht und das Buch bringt mich grad auch nicht weiter
Also die Idee ist zu Lernzwecken ein Formular welches Vorname,Nachname,Telefon,Handy,Email in ne Datenbank speichert und danach auf ner Seite wieder ausgibt.
__________________
Gruß & Vielen Dank
Timo
timo_81 ist offline  
Alt 04.09.2007, 16:27  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Zitat:
Es klappt irgendwie nicht
Was ist denn das bitte für eine Aussage?

Nimm dir mal das zu herzen was ich bereits geschrieben habe und wenn du das getan hast kannste hier deinen Code und deine Fehlermeldung schreiben, aber dir wird hier niemand nen fertigen Code hinhaun. Das kleine Beispiel was du verlangt hast hast du bereits selbst gepostet, es ist halt nur nicht ganz korrekt. Mit den Tipps die du hier bekommen hast müsstest du es auf jeden Fall zu 95 % zum laufen bringen.
cycap ist offline  
Alt 04.09.2007, 16:28  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

oh mein gott ich klinge schon wie ein moderator sorry
cycap ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Russische Namen in Datenbank speichern. HSFighter Datenbanken 2 27.05.2008 21:29
Variablen in Datenbank speichern und auslesen freehawk PHP-Fortgeschrittene 4 16.03.2008 17:22
Mit php dynamisch Namen von Bildnamen sowie Pfad in mysql Datenbank speichern mallmis PHP Tipps 2008 1 19.11.2007 23:04
Inhalte in Datenbank speichern Maxi Datenbanken 31 14.09.2007 18:56
geladene daten aus einer schleife in die datenbank speichern Bonaparte PHP Tipps 2008 2 05.09.2007 22:26
Inhalte in einer Datenbank speichern Maxi Datenbanken 5 02.09.2007 21:37
Daten aus Datenbank sinnvoll speichern PHP Tipps 2006 15 02.02.2006 19:54
[Erledigt] Datensätze aus Datenbank speichern und zuweisen PHP Tipps 2005-2 6 11.09.2005 15:38
PHP in eine Datenbank speichern. PHP Tipps 2005 17 03.05.2005 21:13
htmlcode in datenbank speichern PHP Tipps 2005 38 09.04.2005 20:58
Formulardaten in eine Datenbank speichern und abfragen DarkThunder PHP Tipps 2005 3 08.04.2005 21:33
Probleme beim speichern in die Datenbank Jojo1 PHP Tipps 2005 14 03.02.2005 14:50
Formular in Mysql Datenbank speichern Anuschka Datenbanken 1 15.08.2004 02:55
Bilder in Datenbank speichern PHP Tipps 2004 11 05.08.2004 10:58
priofilbilder in datenbank speichern Datenbanken 6 17.07.2004 14:43

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php telefonliste, telefonliste php, html telefonliste, telefonliste html, php telefonlisten, telefonliste datenbank, http://www.php.de/php-tipps-2008/44709-speichern-einer-telefonliste-mit-php-einer-datenbank.html, php telefonliste beispiel, telefonnummer in datenbank speichern, html telefonliste mit suche, telefonliste in php, telefonliste als html, telefonliste speichern, php telefonnummer speichern, telefonnummer in db speichern, telefonliste für php, datenbank telefonnummer speichern, mysql telefonnummer speichern, telefonnummer datenbank speichern, telefonliste datenbank html

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:05 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.