WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Formulardaten in Datenbank speichern » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Formulardaten in Datenbank speichern
von subjective
Nein dir fehlen einfach Grundlagen, vielfach mußt du einfach mal die Manualseiten lesen. Zum Beispiel ist der mktime()-Aufruf fehlerhaft. Du hast Funktionsaufrufe innerhalb von Strings (was nicht gehen kann). Zu vielen Sachen habe ich mich bei deiner letzten Frage schon geäußert.

Was bei dir auch fehlt ist eine Behandlung von SQL-Fehlern . Du nutzt nicht die Superglobals und du verwendest Benutzereingaben direkt im SQL ohne sie zu escapen.
von solomat
Okay, nun Funktioniert es, lag an den Hochkommas, anstatt ' musste ich solche ` bei den Key´s setzen.
1:
$sql="INSERT INTO links ('ìd`, `homepage`, `beschr`, `filename`, 'anmeldung') VALUES ('', `$homepage`, `$beschr`, `$filename`, '$anmeldung')"; 
Wie man hier noch schön sieht ist da einiges durcheinander an Hochkommas.
von solomat
http://www.solomat-berlin.de/v2/links/options.htm

Da, kannst ja mal was eintragen und schauen was da kommt. Und womit das zu tun hat.
von solomat
Schwebt dir da nen bestimmtes Thema vor? Ich schau im Moment bei "Zu einer MySQL-Datenbank connecten" und seh dort das noch eine andere Datei icludet ist mit der ich nichts anfangen kann, bzw. ich nich weiß was dahinter steckt.
von subjective
Lies doch bitte erstmal das Tutorial auf http://www.php-q.net/.
von solomat
Unzwar habe ich eine Script was ich mit mühseliger Arbeit, Hilfe aus dem Forum und Hilfe von einen Freund erstellt hatte umgeschrieben um daraus ein Formular zu machen, wobei Besucher ihre Webseite in den Linkbereich eintragen können.

Dabei sollen die Homepageadresse, eine Beschreibung dazu und die Adresse zum Banner in die Datenbank gespeichert werden. Das Formular wa ja soweit kein Problem, auch die Auswertung funktioniert, aber das eintragen macht mir Probleme, wobei ich nicht weiss wie die Datenbank-Tabelle dann genau aussehen muss.


1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50:
<? 
include("sqlfile.php"); 
$fehler=array(); 

if(empty($homepage)) 
{$f= "Du hast vergessen deine Homepage einzutragen!"; array_push($fehler,$f);} 
if(empty($beschr)) 
{$f= "Du hast vergessen eine Beschreibung einzutragen!"; array_push($fehler,$f);} 
if(empty($filename)) 
{$f= "Du hast vergessen die Adresse deines Banners einzutragen!"; array_push($fehler,$f);} 

$t=count($fehler); 
if ($t>0) 
{ 
    $zurueck='<a href=javascript:history.back()>zum Formular zurückkehren</a>'; 
    echo "Fehler!
"; 
    foreach ($fehler as $x) { echo "$x
\n"; } 
    echo "
$zurueck

\n"; 
} 
else 
{ 
    $anmeldung=mktime( "d.m.Y H:i"); 
    $sql="INSERT INTO links ('ìd`, `homepage`, `beschr`, `filename`, 'anmeldung') VALUES ('', `$homepage`, `$beschr`, `$filename`, '$anmeldung')"; 
if (mysql_query($sql,$verbindung)) 
{ 
    echo "Erfolgreich eingetragen"; 
} 
else 
{ 
    echo "
<b>Fehler!</b>

\n"; 
    echo "$sql mysql_error($verbindung)<br>\n";
    echo "Leider ist bei der Anmeldung zur Datenbank ein Fehler unterlaufen.
Bitte melden Sie sich nochmal an.

<a href=\"javascript:history.back()\">zurück zum Formular</a>

\n"; 
} 
} 


?>



Ich habe die sql datei für die Datenbank dann auch etwas umgeschrieben:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9:
DROP TABLE IF EXISTS `links`;
CREATE TABLE `links` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `homepage` text NOT NULL,
  `filename` varchar(255) NOT NULL default '',
  `beschr` text NOT NULL,
  `anmeldunng` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=11 ;


Vieleicht liegts auch an der Datei für die Verbindung zur Datenbank?

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14:
<? 
$server="db1.netclusive.de"; 
$datenbank="usr_n4a104_5"; 
$benutzer="xxx"; 
$kennwort="xxx"; 
$verbindung=mysql_connect($server,$benutzer,$kennwort); 
mysql_select_db($datenbank,$verbindung); 
$sql="USE ".$datenbank; 
mysql_query($sql,$verbindung); 

function gettemplate($template,$doc="htm") 
{return str_replace("\"","\\\"",implode("",file($template.".".$doc)));} 
function dooutput($template){echo $template;} 
?>



Würde mich über Hilfe und Tips freuen.

Nach oben