| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

20-10-2009, 15:34
|
|
ichobare
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 8
|
|
formula und db kommen nicht zusammen
hallo zusammen,
ich habe ein script wo daten in einem formular eingetragen
werden sollen, und diese daten sollen dann in einer db gespeichert
werden, aber ich komme nicht mehr weiter, bei mir wird in den
formularen fehler angezeigt
hier der code
PHP-Code:
<?PHP if(empty($_POST['checkID'])) { $_POST['checkID'] = md5(microtime()); } else { if(preg_match('/^[a-f0-9]{32}$/',$_POST['checkID'])) // 3015cf3ed8ca528b9f1a00bd0b75bbe3 { $db_host = "localhost"; // MySQL Hostname $db_name = ""; // MySQL Datenbankname $db_user = ""; // MySQL Benutzername $db_pass = ""; // MySQL Passwort $dbCon = @MYSQL_CONNECT($db_host,$db_user,$db_pass) or die("Datenbank momentan nicht erreichbar"); $db_check = @MYSQL_SELECT_DB($db_name) or die("Datenbank momentan nicht erreichbar"); $sqlCheck = @mysql_query("SELECT id FROM formSend WHERE checkID = '".$_POST['checkID']."'"); if(@mysql_num_rows($sqlCheck) == 1) { $message = 'Ihre Daten wurden bereits gespeichert!'; } else { $sqlInsert = @mysql_query("INSERT INTO formSend (vorname, nachname, firma, strasse, email, telefon, fax, webadresse, nachricht, checkID) VALUES ('".$_POST['vorname']."','".$_POST['nachname']."','".$_POST['firma']."','". $_POST['strasse']."','".$_POST['email']."','".$_POST['telefon']."','". $_POST['fax']."','".$_POST['webadresse']."','".$_POST['nachricht']."','".$_POST['checkID']."')"); if(@mysql_affected_rows() == 1) $message = 'Ihre Daten wurden gespeichert!'; else $message = 'Ihre Daten konnten nicht gespeichert werden!'; } } else { $message = 'Checksumme wurde manipuliert oder ist fehlerhaft!'; } } ?>
PHP-Code:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Kontakt</title> </head> <body> <form> <input border="0" src="Head.jpg" name="I1" width="980" height="200" type="image"></p> </form> <span class="table"><?PHP echo $message; ?></span> <form name="form1" method="post" action="formSend.php"> <table width="100%" border="0" cellspacing="0" class="table"> <tr> <td width="7%">Vorname</td> <td width="93%"> <input name="vorname" type="text" class="inputField" value="<?PHP echo $_POST['vorname']; ?>"> </td> </tr> <div class="reihe" title=""> <p align="justify"> <span class="label">Vorname</span><p align="justify"> <span class="feld"> <input type="text" name="vorname" class="defbreite" size="20" value="<?PHP echo $_POST['vorname']; ?>"></span> </div> <tr> <td>Nachname</td> <td><input name="nachname" type="text" class="inputField" value="<?PHP echo $_POST['nachname']; ?>"></td> </tr> <tr> <td>Firma</td> <td><input name="firma" type="text" class="inputField" value="<?PHP echo $_POST['firma']; ?>"></td> </tr> <tr> <td>Straße</td> <td><input name="strasse" type="text" class="inputField" value="<?PHP echo $_POST['straße']; ?>"></td> </tr> <tr> <td>E-Mail</td> <td><input name="email" type="text" class="inputField" value="<?PHP echo $_POST['email']; ?>"></td> </tr> <tr> <td>Telefon</td> <td><input name="telefon" type="text" class="inputField" value="<?PHP echo $_POST['telefon']; ?>"></td> </tr> <tr> <td>Fax</td> <td><input name="fax" type="text" class="inputField" value="<?PHP echo $_POST['fax']; ?>"></td> </tr> <tr> <td>Webadresse</td> <td><input name="webadresse" type="text" class="inputField" value="<?PHP echo $_POST['webadresse']; ?>"></td> </tr> <tr> <td>Ihre Nachricht</td> <textarea name="nachricht" rows="8" class="nachricht" cols="27"></textarea></span> <td><input name="nachricht" type="text" class="inputField" value="<?PHP echo $_POST['nachricht']; ?>"></td> <tr> <td><input name="checkID" type="hidden" value="<?PHP echo $_POST['checkID']; ?>"></td> <td> </td> </tr> <tr> <td> </td> <td><input name="Submit" type="submit" class="button" value="Abschicken"></td> </tr> </table> </form> </body> </html>
PHP-Code:
CREATE TABLE `formSend` ( `id` bigint(20) unsigned NOT NULL auto_increment, `vorname` varchar(60) collate latin1_german2_ci NOT NULL default '', `nachname` varchar(80) collate latin1_german2_ci NOT NULL default '', `firma` varchar(80) collate latin1_german2_ci NOT NULL default '', `strasse` varchar(80) collate latin1_german2_ci NOT NULL default '', `email` varchar(80) collate latin1_german2_ci NOT NULL default '', `telefon` varchar(80) collate latin1_german2_ci NOT NULL default '', `fax` varchar(80) collate latin1_german2_ci NOT NULL default '', `webadresse` varchar(80) collate latin1_german2_ci NOT NULL default '', `nachricht` varchar(200) collate latin1_german2_ci NOT NULL default '', `checkID` varchar(32) collate latin1_german2_ci NOT NULL default '', PRIMARY KEY (`id`), UNIQUE KEY `checkID` (`checkID`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=1 ;
ich komme nicht mehr weiter
hoffe einer von euch kann mir helfen
vorab schon mal ein dank
ichobare
EDIT: Zeilenumbrüche sponsored by kropff
Geändert von Kropff (20-10-2009 um 19:49 Uhr)
|

20-10-2009, 15:38
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.309
|
|
1. Bitte brich deinen Code um. Kein Menscch scrollt gerne kilometerweit nach rechts.
2. Entferne sämtlich @-Zeichen vor allen Querries. Dann wirst du wahrscheinlich eine Fehlermeldung bekommen.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

20-10-2009, 16:19
|
|
ichobare
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 8
|
|
hallo peter,
habe ich gemacht immer noch die fehleranzeige
<?PHP echo $_POST['nachricht']; ?>
in einem eigabefeld
mfg
ichobare
|

20-10-2009, 16:28
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.309
|
|
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

20-10-2009, 16:37
|
|
ichobare
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 8
|
|
hallo peter,
ja in dem formularfeld wo man eigentlich seinen namen usw.
eitragen sollte steht
PHP-Code:
<?PHP echo $_POST['nachricht']; ?>
das!
mfg
ichobare
|

20-10-2009, 16:54
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.309
|
|
Ist das in allen Feldern so? Welche Dateiendung hat das Formular?
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

20-10-2009, 17:05
|
|
ichobare
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 8
|
|
hallo peter,
ja in allen steht das, abweichend natürlich nur
name usw.
die endung ist html
mfg
ichobare
|

20-10-2009, 17:08
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.309
|
|
Zitat:
Zitat von ichobare
die endung ist html
|
Dann soltest du die mal ganz schnell in .php umändern, sonst weiß der Parser nicht, was er damit anfangen soll.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

20-10-2009, 17:32
|
|
ichobare
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 8
|
|
hallo peter,
besten dank, machmal sieht man den wald vor lauter bäumen nicht
aber ein anderes problem habe ich noch
die kontaktfelder fur namen usw. stehen richtig
nur das textfeld für eine nachricht ist nicht am
schluß sondern am anpfang
mfg
ichobare
|

20-10-2009, 17:38
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.309
|
|
Zitat:
Zitat von ichobare
nur das textfeld für eine nachricht ist nicht am
schluß sondern am anpfang
|
Schau dir mal den HTML-Code an. Der enthält an der Stelle einige gravierende Fehler.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

20-10-2009, 18:56
|
|
ichobare
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 8
|
|
hallo peter,
das mit dem html habe ich behoben
aber die daten werden nicht in die db geschrieben
ich bekomme aber auch keine fehlermeldung
ich kann die formularfelder ausfüllen
und wenn ich dann auf abschicken gehe
bekomme ich nur eine weiße seite zusehen
siehts du den fehler den ich begangen habe?
die db habe ich mit
PHP-Code:
CREATE TABLE `formSend` ( `id` bigint(20) unsigned NOT NULL auto_increment, `vorname` varchar(60) collate latin1_german2_ci NOT NULL default '', `nachname` varchar(80) collate latin1_german2_ci NOT NULL default '', `firma` varchar(80) collate latin1_german2_ci NOT NULL default '', `strasse` varchar(80) collate latin1_german2_ci NOT NULL default '', `email` varchar(80) collate latin1_german2_ci NOT NULL default '', `telefon` varchar(80) collate latin1_german2_ci NOT NULL default '', `fax` varchar(80) collate latin1_german2_ci NOT NULL default '', `webadresse` varchar(80) collate latin1_german2_ci NOT NULL default '', `nachricht` varchar(200) collate latin1_german2_ci NOT NULL default '', `checkID` varchar(32) collate latin1_german2_ci NOT NULL default '', PRIMARY KEY (`id`), UNIQUE KEY `checkID` (`checkID`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=1 ;
erstellt da bekamm ich keine fehler angezeigt
kann es sein, die db liegt bei 1und1, das da der fehler liegt?
mfg
ichobare
|

20-10-2009, 19:20
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.309
|
|
Zitat:
|
kann es sein, die db liegt bei 1und1, das da der fehler liegt?
|
nö
Peter
Und brich endlich deinen Code um! Vorher werde ich dir nicht mehr helfen!
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Geändert von Kropff (20-10-2009 um 19:23 Uhr)
|

20-10-2009, 19:29
|
|
ichobare
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 8
|
|
hallo peter,
Zitat:
|
Und brich endlich deinen Code um!
|
sorry aber was meinst du damit?
ich steh im augenblick einwenig  auf dem schlauch?
mfg
ichobare
|

20-10-2009, 19:33
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.309
|
|
Du klickt auf "Ändern" und setzt in deinem $sqlInsert-Statement ein paar Zeilenumbrüche hinein. Denn das ist für die Überbreite verantwortlich.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

20-10-2009, 19:45
|
|
ichobare
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 8
|
|
hallo peter,
Zitat:
Zitat von Kropff
Du klickt auf "Ändern" und setzt in deinem $sqlInsert-Statement ein paar Zeilenumbrüche hinein. Denn das ist für die Überbreite verantwortlich.
|
?
ich bin glaub ich überfordert heute
mfg
ichobare
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|