Danke für den Tipp. Hätte ich auch draufkommen können. Habe einfach nicht die htm Seite von Exel geöffnet. Habe es in der Htm Seite geändert und in php umgewandelt und alles Bestens alle ü's und ä's . Lieben Dank.
Beiträge von bibifellow
-
-
Habe ich geschafft. Die Exel Datei in htm abgespeichert und dann in php umbenannt. Mit
eingefügt und läuft. Leider zeigt es die ü und ä nicht an. Habe sie mit dem html code ersetzt, aber Exel zeigt dann nur den Code anstatt das ü und ä. gibt es da eine Möglichkeit das zu ändern.
-
Ich habe das Tutorial mit den jquery Registerkarten ausprobiert. Funktioniert auch. Danach wollte ich in das div der Registerkarte eine Exel Datei einfügen. Wenn ich es in csv umwandle ist die Textformatierung weg. Dann habe ich sie abgespeichert unter htm. Leider wird sie nicht angezeigt.
Code
Alles anzeigen<script type="text/javascript" src="jquery.js"></script> <body> <style type="text/css"> <!-- ul.navi { list-style: none; margin: 0; padding: 0; } ul.navi li { display: inline; } ul.navi li a { padding: 3px 5px; background-color: #ccc; color: #000; text-decoration: none; } ul.navi li a.selected, ul.navi li a:hover { background-color: #333; color: #fff; padding-top: 7px; } ul.navi li a:focus { outline: 0; } div.tabs > div { padding: 5px; margin-top: 3px; border: 2px solid #333; } #eins { background-color:#FF9; } #zwei { background-color:#FF9; } #drei { background-color:#FF9; } #vier { background-color:#FF9; } #fünf { background-color:#FF9; } --> </style> <script type="text/javascript"> /* <![CDATA[ */ $(document).ready(function(){ var bereich = $('div.tabs > div'); $('div.tabs ul.navi a').click(function () { bereich.hide().filter(this.hash).show(); $('div.tabs ul.navi a').removeClass('selected'); $(this).addClass('selected'); return false; }).filter(':first').click(); }); /* ]]> */ </script> <div class="tabs"> <ul class="navi"> <li><a href="#eins">Klein und fein</a></li> <li><a href="#zwei">Pizza</a></li> <li><a href="#drei">Nudelgerichte</a></li> <li><a href="#vier">Geflügelgerichte</a></li> <li><a href="#fünf">Salate</a></li> </ul> <div id="eins"> <a href="Speisekarte.htm"></a> </div> <div id="zwei"> <p>Inhalt des zweiten Registers.</p> </div> <div id="drei"> <p>Inhalt des dritten Registers.</p> </div> <div id="vier"> <p>Inhalt des vierten Registers.</p> </div> <div id="fünf"> <p>Inhalt des fünften Registers.</p> </div> </div>
Er zeigt einen leeren div an. Ich weiß nicht woran es liegt.
-
Nein natürlich nicht, aber es kann ja immer mal nötig sein 2 jquery programme in eine php seite zu packen und dann wäre es gut zu wissen wie es funktioniert. Habe schon viel bei google gelesen, es müsste eigentlich funktionieren aber ich weiß nicht warum nicht.
-
Ich habe eine HP mit einem Dropdownmenü. Funktioniert ohne Problem. Danach habe unter das Menü einen div gesetzt und darin dann per include eine Slideshow mit php eingefügt. Wenn ich die Seite der slideshow aufrufe läuft sie aber in der index.html funktioniert nur die Slideshow und die Navigation nicht. Kann ich nicht zwei Javascripte in einer HP haben oder woran könnte das liegen.
die slideshow start
Code
Alles anzeigen<script type="text/javascript" src="http://cloud.github.com/downloads/malsup/cycle/jquery.cycle.all.latest.js"></script> <script type= "text/javascript"> /* <![CDATA[ */ $(document).ready(function() { $('.slideshow').cycle({ fx: 'fade' }); }); /* ]]> */ </script> <div class="slideshow"> <img src="Bilder/001.jpg" height="400px" width="600px"/> <img src="Bilder/002.jpg" height="400px" width="600px"/> <img src="Bilder/004.jpg" height="400px" width="600px"/> <img src="Bilder/005.jpg" height="400px" width="600px"/> <img src="Bilder/006.jpg" height="400px" width="600px"/> <img src="Bilder/007.jpg" height="400px" width="600px"/> <img src="Bilder/008.jpg" height="400px" width="600px"/> <img src="Bilder/009.jpg" height="400px" width="600px"/> <img src="Bilder/010.jpg" height="400px" width="600px"/> <img src="Bilder/011.jpg" height="400px" width="600px"/> <img src="Bilder/012.jpg" height="400px" width="600px"/> </div>
und die index.php
PHP
Alles anzeigen<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link href="navi.css" rel="stylesheet" type="text/css" media="screen" /> <script type="text/javascript" src="jsapi.js"></script> <script type="text/javascript" src="jquery.hoverIntent.minified.js" type="text/javascript"></script> <script type="text/javascript" src="jquery.cycle.all.latest.js"></script> <script type="text/javascript" src="jquery.nmcDropDown.js" type="text/javascript"></script> <script type="text/javascript"> /* <![CDATA[ */ google.load("jquery", "1.3.2"); /* ]]> */ </script> <script src="jquery.nmcDropDown.js" type="text/javascript"></script> <style type="text/css"> /* <![CDATA[ */ /* ]]> */ </style> <title>My world</title> </head> <body> <div id="side"> <ul id="nav"> <li> <a href="index.php?seite=home" >Home</a></li> <li><a href="#">Bücher</a> <ul> <li><a href="#">Roman</a></li> <li><a href="#">Fantasy</a></li> <li><a href="#">Thriller</a></li> </ul> </li> <li><a href="#">Kontakt</a></li> <li><a href="#">Impressum</a></li> <li><a href="#">Anfahrt</a></li> </ul> <div id="pic1"> <img src="Bilder/015.jpg" width="100%%" height=100%" /></div> </div> <div id="center"> <div id="center1"> <?php $seite = isset($_GET['seite']) ? $_GET['seite'] : ''; switch($seite){ default: case"home": include("start.html"); break;} ?> </div></div> <script type="text/javascript"> /* <![CDATA[ */ $('#nav').nmcDropDown({ show: {height: 'show', opacity: 'show'} }); $('#nav a').click(function() { $(this).parents('li').siblings('li:has(.active)').find('a').removeClass('active').end().end().end().addClass('active'); return false; }); /* ]]> */ </script> </body> </html>
-
Super das klappt toll.
jetzt brauch nicht nur die freischalten.php zum laufen bringen ich habe noch ein Feld in der der Tabelle erstellt
Feld aktiviert
Typ char
Kollation latin1-swedish
not null
ich weiß nur nicht ob die Kollation stimmt. Aber ohne geht es nicht.
Die Anweisung hieß
Wir fügen also ein weiteres Feld in der Datenbank ein, das wir „aktiviert“ nennen. Das geht am schnellsten über phpMyAdmin im Punkt „Stuktur“ unten „Feld hinzufügen“.Das Feld hat die Länge von "1" und ist ein Char. Sobald der Eintrag angezeigt werden darf, wird hier eine 1 gesetzt.und dann die freischalten php mit der Mail. So wie ich gelesen habe kann ich über localhost keine emails versenden, muss mir also erste einen webspace besorgen um es zu testen.
freischalten.php lautetPHP
Alles anzeigen<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Untitled Document</title> </head> <body> <?php $sql = " UPDATE gaestebuch "; $sql .= " SET aktiviert='1' "; $sql .= " WHERE id='". $_GET['id'] ."' "; echo "<hr />SQL: $sql<hr />"; define ( 'MYSQL_HOST', 'localhost' ); define ( 'MYSQL_BENUTZER', 'root' ); define ( 'MYSQL_KENNWORT', '' ); define ( 'MYSQL_DATENBANK', 'homepageanwendungen' ); $db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT); if ( ! $db_link ) { $empfaenger = "xxxx@gmx.de"; //Mailadresse $betreff = "Gästebucheintrag"; $mailtext = "Inhalt einer Mail zum Test von PHP"; $antwortan = "xxxx@gmx.de"; mail( $empfaenger, $betreff, $mailtext, "From: $absender\nReply-To: $antwortan"); echo "Mail wurde gesendet!"; die('keine Verbindung zur Zeit möglich - später probieren '); } $db_sel = mysql_select_db( MYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen"); // ausführen des mysql-Befehls $db_erg = mysql_query( $sql ); if ( ! $db_erg ) { die('Ungültige Abfrage: ' . mysql_error()); } echo "<h2>Eintrag ". $_GET['id'] ." freigeschaltet</h2>"; echo '<p><a href="gaestebuch.php">Gästebuch anzeigen</a></p>'; ?> </body> </html>
Wie kann man denn dieses ganze Wissen so toll wie du es kannst lernen. Ich finde das echt super.
-
Ja das werde ich mir mal ansehen. Ich wollte nun die Ausgabe in einer Tabelle formatieren aber das klappt nicht ganz. Habe mir einiges angesehen aber es ist schwierig. Ich habe es so versucht
PHP
Alles anzeigen<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Untitled Document</title> </head> <body> <?php define ( 'MYSQL_HOST', 'localhost' ); define ( 'MYSQL_BENUTZER', 'root' ); define ( 'MYSQL_KENNWORT', '' ); define ( 'MYSQL_DATENBANK', 'homepageanwendungen' ); $db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT); if ( ! $db_link ) { // hier sollte dann später dem Programmierer eine<br /> // E-Mail mit dem Problem zukommen gelassen werden<br /> // die Fehlermeldung für den Programmierer sollte<br /> // das Problem ausgeben mit: mysql_error()<br /> die('keine Verbindung zur Zeit möglich - später probieren '); } $db_sel = mysql_select_db( MYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen"); // SQL-Befehl für den Zugriff $sql = " SELECT * FROM gaestebuch ORDER BY datum "; // ausführen des mysql-Befehls $db_erg = mysql_query( $sql ); if ( ! $db_erg ) { die('Ungültige Abfrage: ' . mysql_error()); } // Anzeige der Anzahl der Einträge $anzahl_eintraege = mysql_num_rows($db_erg); echo "<p>Anzahl der Gästebuch-Einträge: $anzahl_eintraege </p>"; echo "<table border=\"\">"; echo "<tr>"; echo "<th>Name</th>"; echo "<th>Datum</th>"; echo "<th>Nachricht</th>"; echo "</tr>"; while ($daten = mysql_fetch_array( $db_erg, MYSQL_ASSOC)) { // Aushabe der Daten echo "<tr>"; echo "<td>$name ['name']</td>"; echo "<td>$datum ['datum']</td>"; echo "<td>$eintrag ['eintrag']</td>"; echo "</tr>"; } mysql_free_result( $db_erg ); // SQL-Befehl für den Zugriff $sql = " SELECT * FROM gaestebuch WHERE aktiviert='1' ORDER BY datum "; ?> </body> </html>
Da sind das dann so aus.
Und das ohne Daten. Irgendetwas ist da falsch.
-
Ich habe die Zeile geändert in
und oben noch
jetzt funktioniert es
Wie mache ich es am Besten damit ich den Gästebucheintrag freischalten kann also mit einer Mail wie es im Tutorial steht""In dieser E-Mail gibt es neben dem Text, den der Besucher eingetragen hat, dann noch einen Link für uns zum freischalten: Dort steht dann
<!-- m --><a class="postlink" href="http://www.php-kurs.com/gaestebuch-freischalten.php?id=$id">http://www.php-kurs.com/gaestebuch-frei ... php?id=$id</a><!-- m -->
Dieser Link muss natürlich auf die URL Ihrer Website angepasst werden. Weiterhin sollte auch der Dateinamen variiert werden, sonst kann jeder, den Link kennt, den Eintrag theoretisch freischalten.""So wie ich das verstehe soll ich doch dann eine Mail bekommen in der ich den Eintrag freischalte. So wie ich es jetzt habe wird der Link auf der Seite des Gästebucheintrags gemacht. Also müsste der Link in einer Mail versandt und so kann ich den Freischalten.
-
Ich möchte mir noch einen zulegen bei all-inkl-priv.
Ich habe die Zeile eingefügt aber folgende Fehlermeldung
Parse error: syntax error, unexpected '<' in /Applications/xampp/xamppfiles/htdocs/Gastbuchhp/Tutorial/gaestebuch-eintrag4.php on line 92habe auch versucht
<a href="gaestebuch-freischalten.php? ></a> <?php id=$id ?> da gab es diese Fehlermeldung
Parse error: syntax error, unexpected '<' in /Applications/xampp/xamppfiles/htdocs/Gastbuchhp/Tutorial/gaestebuch-eintrag4.php on line 92An den Anfang habe ich dann noch folgende Zeilen gepackt für die Bereinigung
Code
Alles anzeigenarray_walk ( $_POST, 'eingabebereinigen' ); array_walk ( $_GET, 'eingabebereinigen' ); array_walk ( $_REQUEST, 'eingabebereinigen' ); function eingabebereinigen(&$value, $key) { // keine HTML-Tags erlaubt, außer p und br $value = strip_tags($value, '<p><br /><b><strong>'); // HTML-Tags maskieren $value = htmlspecialchars($value, ENT_QUOTES); // Leerzeichen am Anfang und Ende beseitigen $value = trim($value); }
-
stimmt, klasse. Lieben Dank.
Ich habe jetzt noch die Absicherung. Also das der Gästebucheintrag erst erfolgen nach nach Freischaltung.
Ich habe also in die gaestebuch.php folgendes eingefügtund eine gaestebuch-freischalten.php erstellt
und in die gaestebuch-eintrag folgende Zeile eingetragen
habe die dann abgeändert in
und bekomme dann die Fehlermeldung
Parse error: syntax error, unexpected '=' in /Applications/xampp/xamppfiles/htdocs/Gastbuchhp/Tutorial/gaestebuch-eintrag4.php on line 77Nächste Frage ist wie kann ich den Gästebucheintrag dann freischalten. Ist etwas kompliziert erklärt auf der Seite.
-
werde es nachher noch einmal im Explorer probieren. Dazu muss ich an den Windowsrechner mache dies alles auf nem Mac. Und dort muss ich xamp installieren. Melde mich dann noch einmal. Ist bestimmt ein Manko bei der HP wenn es auf Safari nicht läuft.
-
Ich habe es gerade in Firefox probiert. Da hat es funktioniert kam oben die Meldung
Querystring: INSERT INTO gaestebuch (name, url, email, datum, eintrag) VALUES ('lfgjaäkfdl','dsklfjdsklfjka', 'kfjdlskjfkasl', '2011-03-05 13:21:56', 'dlkfjsdklfjsdlköfj')Eintrag gespeichertWarum funktioniert es dann nicht bei Safari. Das verstehe ich absolut nicht. Gibt es da einen Rat
-
Nein es wird nichts ausgegeben und in der Datenbank kommt wirklich nichts an. Bin schon total verzweifelt. Habe mal eine Kopie von der Datenbank localhost gemacht. Das letzte Feld ist nach für die Freischaltung. Ich will erst das andere am laufen haben.
Feld Typ Kollation Attribute Null Standard Extra Aktion
id int(20) Nein auto_increment
name varchar(150)latin1_swedish_ci Nein
email varchar(255) latin1_swedish_ci Nein
url varchar(255) latin1_swedish_ci Nein
datum datetime Nein
eintrag blob BINARY Nein
aktiviert varchar(1) latin1_swedish_ci Nein -
Hi habe ich eingegeben sieht jetzt so aus
PHP
Alles anzeigen<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Untitled Document</title> </head> <body> <?php error_reporting(E_ALL); define ( 'MYSQL_HOST', 'localhost' ); define ( 'MYSQL_BENUTZER', 'root' ); define ( 'MYSQL_KENNWORT', '' ); define ( 'MYSQL_DATENBANK', 'homepageanwendungen' ); $db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT); if ( ! $db_link ) { // hier sollte dann später dem Programmierer eine<br /> // E-Mail mit dem Problem zukommen gelassen werden<br /> // die Fehlermeldung für den Programmierer sollte<br /> // das Problem ausgeben mit: mysql_error()<br /> die('keine Verbindung zur Zeit möglich - später probieren '); } $db_sel = mysql_select_db( MYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen"); // SQL-Befehl für den Zugriff if ( isset($_POST["speichern"] )) { $name = isset($_POST['name']) ? $_POST['name'] : "Leer"; $email = isset($_POST['email']) ? $_POST['email'] : "Leer"; $url = isset($_POST['url']) ? $_POST['url'] : "Leer"; $datum = date("Y-m-d H:i:s"); $eintrag = isset($_POST['eintrag']) ? $_POST['eintrag'] : "Leer"; $qryInsert = "INSERT INTO gaestebuch (name, url, email, datum, eintrag) VALUES ('%s','%s', '%s', '%s', '%s')" ; $qryInsert = sprintf($qryInsert, $name, $url, $email, $datum, $eintrag); echo "Querystring: " . $qryInsert; $db_erg = mysql_query( $qryInsert); if ( ! $db_erg ) { die('Ungültige Abfrage: ' . mysql_error()); } else { echo "Eintrag gespeichert"; } } ?> <form name="" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" enctype="text/html"> <p>Ihr Name:<br /> <input type="text" name="name" value="" size="50" maxlength="150" /> </p> <p>Ihre E-Mail-Adresse:<br /> <input type="text" name="email" value="" size="50" maxlength="150" /> </p> <p>Ihre Homepage:<br /> <input type="text" name="url" value="" size="50" maxlength="150" /> </p> <p>Gästebucheintrag:<br /> <textarea name="eintrag" rows="10" cols="50"></textarea> </p> <input type="Submit" name="" value="speichern" /> </form> <a href="gaestebuch.php">Gästebuch anzeigen</a> </body> </html>
Leider ist im Gästebuch kein Eintrag, aber das Gute es gibt keine Fehlermeldung mehr. Meine gaestebuch.php sieht so aus. Also alles besteht aus den 2 Dateien. Vielleicht kann der Fehler so leichter gefunden werden.
PHP
Alles anzeigen<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Untitled Document</title> </head> <body> <?php define ( 'MYSQL_HOST', 'localhost' ); define ( 'MYSQL_BENUTZER', 'root' ); define ( 'MYSQL_KENNWORT', '' ); define ( 'MYSQL_DATENBANK', 'homepageanwendungen' ); $db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT); if ( ! $db_link ) { // hier sollte dann später dem Programmierer eine<br /> // E-Mail mit dem Problem zukommen gelassen werden<br /> // die Fehlermeldung für den Programmierer sollte<br /> // das Problem ausgeben mit: mysql_error()<br /> die('keine Verbindung zur Zeit möglich - später probieren '); } $db_sel = mysql_select_db( MYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen"); // SQL-Befehl für den Zugriff $sql = " SELECT * FROM gaestebuch ORDER BY datum "; // ausführen des mysql-Befehls $db_erg = mysql_query( $sql ); if ( ! $db_erg ) { die('Ungültige Abfrage: ' . mysql_error()); } // Anzeige der Anzahl der Einträge $anzahl_eintraege = mysql_num_rows($db_erg); echo "<p>Anzahl der Gästebuch-Einträge: $anzahl_eintraege </p>"; while ($daten = mysql_fetch_array( $db_erg, MYSQL_ASSOC)) { //Ausgabe der Daten echo "<pre>"; print_r ($daten); echo "</pre>"; } echo $daten['name']; while ($daten = mysql_fetch_array( $db_erg, MYSQL_ASSOC)) { // Aushabe der Daten echo "ID: "; echo $daten['id']; echo "<br />"; echo "Name: "; echo $daten['name']; echo "<br />"; echo "E-Mail: "; echo $daten['email']; echo "<br />"; echo "URL: "; echo $daten['url']; echo "<br />"; echo "Datum: "; echo $daten['datum']; echo "<br />"; echo "Gästebucheintrag: "; echo $daten['eintrag']; echo "<br />"; } mysql_free_result( $db_erg ); // SQL-Befehl für den Zugriff $sql = " SELECT * FROM gaestebuch WHERE aktiviert='1' ORDER BY datum "; ?> </body> </html>
-
Ich habe jetzt zwar keine Fehlermeldung nach der Änderung (hoffe es ist richtig) aber auch keinen Eintrag mehr in der Datenbank. Irgendwo muss doch noch ein Fehler sein. Bin schon ganz verzweifelt.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head><body>
<?php
error_reporting(E_ALL);define ( 'MYSQL_HOST', 'localhost' );
define ( 'MYSQL_BENUTZER', 'root' );
define ( 'MYSQL_KENNWORT', '' );
define ( 'MYSQL_DATENBANK', 'homepageanwendungen' );
$db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
if ( ! $db_link )
{
// hier sollte dann später dem Programmierer eine<br />
// E-Mail mit dem Problem zukommen gelassen werden<br />
// die Fehlermeldung für den Programmierer sollte<br />
// das Problem ausgeben mit: mysql_error()<br />
die('keine Verbindung zur Zeit möglich - später probieren ');
}
$db_sel = mysql_select_db( MYSQL_DATENBANK )
or die("Auswahl der Datenbank fehlgeschlagen");
// SQL-Befehl für den Zugriff
if ( isset($_POST["speichern"] ))
{
$sql = " INSERT INTO gaestebuch ";
$sql .= " VALUE ";
$sql .= " name ='". $_POST['name'] ."', ";
$sql .= " email ='". $_POST['email'] ."', ";
$sql .= " url ='". $_POST['url'] ."', ";
$sql .= " datum ='". date("Y-m-d H:i:s") ."', ";
$sql .= " eintrag='". $_POST['eintrag'] ."' ";
echo "<hr />SQL: $sql<hr />";
echo "<h2>Eintrag speichern</h2>";
// hier kommt nun der entsprechende PHP-Code
exit;// ausführen des mysql-Befehls
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}
}?>
<form name="" action="<?php echo $_SERVER['PHP_SELF']; ?>"
method="POST" enctype="text/html">
<p>Ihr Name:<br />
<input type="text" name="name" value="" size="50" maxlength="150" />
</p><p>Ihre E-Mail-Adresse:<br />
<input type="text" name="email" value="" size="50" maxlength="150" />
</p><p>Ihre Homepage:<br />
<input type="text" name="url" value="" size="50" maxlength="150" />
</p><p>Gästebucheintrag:<br />
<textarea name="eintrag" rows="10" cols="50"></textarea>
</p><input type="Submit" name="" value="speichern" />
</form>
<a href="gaestebuch.php">Gästebuch anzeigen</a></body>
</html> -
Ich habe das Gästebuchtutorial auf <!-- m --><a class="postlink" href="http://www.php-kurs.com/beispiel-gaestebuch-programmieren-in-php-und-mysql.htm">http://www.php-kurs.com/beispiel-gaeste ... -mysql.htm</a><!-- m --> nachgearbeitet
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head><body>
<?php
error_reporting(E_ALL);
define ( 'MYSQL_HOST', 'localhost' );
define ( 'MYSQL_BENUTZER', 'root' );
define ( 'MYSQL_KENNWORT', '' );
define ( 'MYSQL_DATENBANK', 'homepageanwendungen' );
$db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
if ( ! $db_link )
{
// hier sollte dann später dem Programmierer eine<br />
// E-Mail mit dem Problem zukommen gelassen werden<br />
// die Fehlermeldung für den Programmierer sollte<br />
// das Problem ausgeben mit: mysql_error()<br />
die('keine Verbindung zur Zeit möglich - später probieren ');
}
$db_sel = mysql_select_db( MYSQL_DATENBANK )
or die("Auswahl der Datenbank fehlgeschlagen");
// SQL-Befehl für den Zugriff
$sql = " INSERT INTO gaestebuch ";
$sql .= " SET ";
$sql .= " name ='". $_POST['name'] ."', ";
$sql .= " email ='". $_POST['email'] ."', ";
$sql .= " url ='". $_POST['url'] ."', ";
$sql .= " datum ='". date("Y-m-d H:i:s") ."', ";
$sql .= " eintrag='". $_POST['eintrag'] ."' ";
echo "<hr />SQL: $sql<hr />";// ausführen des mysql-Befehls
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}?>
<form name="" action="<?php echo $_SERVER['PHP_SELF']; ?>"
method="POST" enctype="text/html">
<p>Ihr Name:<br />
<input type="text" name="name" value="" size="50" maxlength="150" />
</p><p>Ihre E-Mail-Adresse:<br />
<input type="text" name="email" value="" size="50" maxlength="150" />
</p><p>Ihre Homepage:<br />
<input type="text" name="url" value="" size="50" maxlength="150" />
</p><p>Gästebucheintrag:<br />
<textarea name="eintrag" rows="10" cols="50"></textarea>
</p><input type="Submit" name="" value="speichern" />
</form>
<a href="gaestebuch.php">Gästebuch anzeigen</a></body>
</html>und bekomme dann folgende Fehlermeldung
Notice: Undefined index: name in /Applications/xampp/xamppfiles/htdocs/Gastbuchhp/Tutorial/gaestebuch-eintrag2.php on line 31Notice: Undefined index: email in /Applications/xampp/xamppfiles/htdocs/Gastbuchhp/Tutorial/gaestebuch-eintrag2.php on line 32
Notice: Undefined index: url in /Applications/xampp/xamppfiles/htdocs/Gastbuchhp/Tutorial/gaestebuch-eintrag2.php on line 33
Notice: Undefined index: eintrag in /Applications/xampp/xamppfiles/htdocs/Gastbuchhp/Tutorial/gaestebuch-eintrag2.php on line 35
Ich habe dann SET durch Value ersetzt
$sql = " INSERT INTO gaestebuch ";
$sql .= " VALUE ";
$sql .= " name ='". $_POST['name'] ."', ";
$sql .= " email ='". $_POST['email'] ."', ";
$sql .= " url ='". $_POST['url'] ."', ";
$sql .= " datum ='". date("Y-m-d H:i:s") ."', ";
$sql .= " eintrag='". $_POST['eintrag'] ."' ";
echo "<hr />SQL: $sql<hr />";die obigen Fehlermeldungen blieben und zusätzlich
SQL: INSERT INTO gaestebuch VALUE name ='', email ='', url ='', datum ='2011-03-04 11:41:11', eintrag=''
Ungültige Abfrage: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'name ='', email ='', url ='', datum ='2011-03-04 11:41:11', eintrag='' at line 1
Der Eintrag kommt zwar in der Datenbank an aber ohne Inhalt. Wäre dankbar für jede Hilfe sitze schon Stunden am probieren.