CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
28.12.2007, 19:23:54
|
Anfänger
|
|
Registriert seit: Sep 2007
Beiträge: 68
|
|
Anfrage wird nicht in der DB gespeichert
Hi,
in meinem folgenden Script (leider etwas lang) soll man eine Kontaktanfrage senden können.
Diese wird dann in einer Datenbank gespeichert.
Leider kommt aber immer "meine" Fehlermeldung:
Zitat:
Ihre Nachricht konnte leider nicht gesendet werden!
Versuchen Sie es bitte später nocheinmal oder wenden Sie sich an den Administrator!
|
Hier mal das Script:
PHP-Code:
<?php
session_start();
error_reporting(EALL);
$firma = $_POST['firma'];
$vorname = $_POST['vorname'];
$name = $_POST['name'];
$strasse = $_POST['strasse'];
$plz = $_POST['plz'];
$ort = $_POST['ort'];
$tel = $_POST['tel'];
$mobil = $_POST['mobil'];
$fax = $_POST['fax'];
$email = $_POST['email'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'] ;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[link] http://www.w3.org/TR/xhtm...ransitional.dtd">
<html>
<head>
<title>Erneuerbare Energie Schöpplein</title>
<link rel="stylesheet" type="text/css" href="css/style.css" />
<link rel="stylesheet" type="text/css" href="css/navi_style.css" />
</head>
<body>
<div id="box">
<div id="header">
<?php include 'include/header.php'; ?>
</div>
<div id="navigation">
<?php
include 'include/navi_links.inc.php';
include 'include/navi.php';
?>
</div>
<div id="topic">
<?php
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}
$sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "fk2j3k8dl");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
?>
Alle Felder sind Pflichtfelder! Ausnahme sind die Felder, in denen "optional" steht!<br />
<br />
<form method="post" action="<?php $_SERVER['self']; ?>" name="kontakt">
<table>
<tr>
<td>
<table align="left">
<tr>
<td style="font-size: 18px; font-weight: bolder;">Anschrift:</td>
</tr>
<tr>
<td>Firma:</td><td><input type="text" name="firma" value="<?php if(isset($firma)){echo $firma;}else{echo 'optional';} ?>" /></td>
</tr>
<tr>
<td>Vorname:</td><td><input type="text" name="vorname" value="<?php if(isset($vorname)){echo $vorname;} ?>" /></td>
</tr>
<tr>
<td>Name:</td><td><input type="text" name="name" value="<?php if(isset($name)){echo $name;} ?>" /></td>
</tr>
<tr>
<td class="td_oberpunkt">_</td>
</tr>
<tr>
<td>Straße + Nr.:</td><td><input type="text" name="strasse" value="<?php if (isset($strasse)){echo $strasse;} ?>" /></td>
</tr>
<tr>
<td>Postleitzahl:</td><td><input type="text" name="plz" value="<?php if (isset($plz)){echo $plz;} ?>" /></td>
</tr>
<tr>
<td>Wohnort:</td><td><input type="text" name="ort" value="<?php if (isset($ort)){echo $ort;} ?>" /></td>
</tr>
<tr>
<td class="td_oberpunkt">_</td>
</tr>
<tr>
<td>Telefon:</td><td><input type="text" name="tel" value="<?php if (isset($tel)){echo $tel; } ?>" /></td>
</tr>
<tr>
<td>Handy</td><td><input type="text" name="mobil" value="<?php if(isset($mobil)){echo $mobil;}else{echo 'optional';} ?>" /></td>
</tr>
<tr>
<td>Fax:</td><td><input type="text" name="fax" value="<?php if(isset($fax)){echo $fax;}else{echo 'optional';} ?>" /></td>
</tr>
<tr>
<td>eMail-Adresse:</td><td><input type="text" name="email" value="<?php if (isset($email)){echo $email;}?>" /></td>
</tr>
</table>
</td>
<td>
<table align="right">
<tr>
<td style="font-size: 18px; font-weight: bolder;">Nachricht:</td>
</tr>
<tr>
<td>Betreff: <input style="width:400px" type="text" name="betreff" value="<?php if (isset($betreff)){echo $betreff;}?>" /></td>
</tr>
<tr>
<td>
<textarea name="nachricht" cols="60" rows="17"><?php if (isset($nachricht)){echo $nachricht;} ?></textarea>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table align="center">
<tr>
<td><img id="captcha" src="include/rechen-captcha.php" alt="Sicherheits Code"></td>
<td align="right">Lösung:</td>
<td width="5" align="center"><input type="text" name="sicherheitscode" size="5"></td>
<td><input type="button" value="Neue Aufgabe" onclick="var heute = new Date(); document.getElementById('captcha').src='include/rechen-captcha.php?'+heute.getTime()" /></td>
</tr>
<tr height="30" valign="bottom">
<td><input type="hidden" value="1" name="sendekontrolle"/></td>
<td><input type="submit" value="Absenden" /></td>
<td><input type="reset" value="Löschen" /></td>
<td></td>
</tr>
</table>
</form>
<?php
if(isset($_POST['sendekontrolle']))
{
if(isset($_SESSION['rechen_captcha_spam']) AND $sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
unset($_SESSION['rechen_captcha_spam']);
if ($vorname == "") {
echo "Sie haben keinen Vornamen angegeben!<br>";
$senden = false;
}
if ($name == "") {
echo "sie haben keinen Namen angegeben!<br>";
$senden = false;
}
if ($strasse == "") {
echo "Sie haben keine Straße angegeben!<br>";
$senden = false;
}
if ($plz == "") {
echo "Sie haben keine Postleitzahl angegeben!<br>";
$senden = false;
}
if ($ort == "") {
echo "Sie haben keinen Ort angegeben!<br>";
$senden = false;
}
if ($tel == "") {
echo "Sie haben keine Telefonnummer angegeben!<br>";
$senden = false;
}
if ($email == "") {
echo "Sie haben keine eMail angegeben!<br>";
$senden = false;
}
if ($betreff == "") {
echo "Sie haben keinen Betreff angegeben!<br>";
$senden = false;
}
if ($nachricht == "") {
echo "Sie haben keine Nachricht angegeben!<br>";
$senden = false;
}
if($senden == true){
include 'admin/lib/config.inc.php';
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i:s",$timestamp);
$sql_befehl = "
INSERT INTO ee_kontakt
(id,datum,zeit,firma,vorname,name,strasse,plz,ort,tel,mobil,fax,email,betreff,nachricht)
VALUES
('','".$datum."', '".$uhrzeit."', '".$firma ."', '".$vorname."', '".$name."', '".$strasse."', '".$plz ."', '".$ort."', '".$tel."', '".$mobil."', '".$fax."', '".$email."', '".$betreff."', '".$nachricht."')";
$resultat = $db->query($sql_befehl) OR die("Fehler im MySQLi Befehl: <br>\n".mysqli_connect_errno()."<br>\n\$sql_befehl=$sql_befehl<br>\n");
echo "
<center>
<br>
<br>
Ihre Nachricht wurde erfolgreich übermittelt!<br>
Bitte haben Sie etwas Geduldt, wir kümmern uns um Ihren Auftrag!
<br>
<br>
</center>
";
} else {
echo "
<center>
<br>
<br>
Ihre Nachricht konnte leider nicht gesendet werden!<br>
Versuchen Sie es bitte später nocheinmal oder wenden Sie sich an den Administrator!
<br>
<br>
</center>
";
}
} else {
echo "Der Sicherheitscode stimmt nicht überein!<br>";
if ($vorname == "") {
echo "Sie haben keinen Vornamen angegeben!<br>";
}
if ($name == "") {
echo "Sie haben keinen Namen angegeben!<br>";
}
if ($strasse == "") {
echo "Sie haben keine Straße angegeben!<br>";
}
if ($plz == "") {
echo "Sie haben keine Postleitzahl angegeben!<br>";
}
if ($ort == "") {
echo "Sie haben keinen Ort angegeben!<br>";
}
if ($tel == "") {
echo "Sie haben keine Telefonnummer angegeben!<br>";
}
if ($email == "") {
echo "Sie haben keine eMail angegeben!<br>";
}
if ($betreff == "") {
echo "Sie haben keinen Betreff angegeben!<br>";
}
if ($nachricht == "") {
echo "Sie haben keine Nachricht angegeben!<br>";
}
}
}
?>
</div>
<div class="foot_center">
<?php include 'include/footer.php'; ?>
</div>
<div class="foot_right">
<a href="disclaimer.php">Disclaimer</a> | <a href="impressum.php">Impressum</a>
</div>
</div>
</body>
</html>
Ich hoffe ihr könnt mir helfen ?? :)
mfg
Sirius
|
28.12.2007, 19:42:38
|
Senior Member
|
|
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 55
Beiträge: 1.020
|
|
AW: Anfrage wird nicht in der DB gespeichert
Fangen wir mal (zum Erschrecken) mit error_reporting(EALL); an. Die Konstante heißt E_ALL.
PHP-Code:
<?php error_reporting(E_ALL); ini_set('display_errors', true); session_start();
__________________
Wat der Bauer nich kennt, dit frisster nich.
|
29.12.2007, 19:16:49
|
Anfänger
|
|
Registriert seit: Sep 2007
Beiträge: 68
|
|
AW: Anfrage wird nicht in der DB gespeichert
Code:
Notice: Undefined index: firma in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 5
Notice: Undefined index: vorname in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 6
Notice: Undefined index: name in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 7
Notice: Undefined index: strasse in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 8
Notice: Undefined index: plz in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 9
Notice: Undefined index: ort in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 10
Notice: Undefined index: tel in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 11
Notice: Undefined index: mobil in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 12
Notice: Undefined index: fax in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 13
Notice: Undefined index: email in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 14
Notice: Undefined index: betreff in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 15
Notice: Undefined index: nachricht in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 16
Notice: Undefined index: sicherheitscode in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 51
das kommt.
aber is ja klar.. die variablen sind ja noch nicht vergeben. die solln ja nur gespeichert werden, wenn etwas abgesendet wird, und wenn die seite neu geladen werden muss, wenn ein <input> falsch angegeben worden ist!
wenn ich absende kommt jetzt der fehler:
Code:
Objekt nicht gefunden!
Der angeforderte URL konnte auf dem Server nicht gefunden werden. Der Link auf der verweisenden Seite scheint falsch oder nicht mehr aktuell zu sein. Bitte informieren Sie den Autor dieser Seite über den Fehler.
Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
Error 404
sirius-ts.dyndns.org
12/29/07 19:17:00
Apache/2.2.3 (Win32) DAV/2 mod_ssl/2.2.3 OpenSSL/0.9.8d mod_autoindex_color PHP/5.1.6
(als neue seite geladen)
vorher war das allerdings nicht.
|
29.12.2007, 19:20:14
|
Senior Member
|
|
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 55
Beiträge: 1.020
|
|
AW: Anfrage wird nicht in der DB gespeichert
Das ist jetzt aber eine Meldung vom Webserver (also noch nicht mal von php), dass es das Skript/die Seite/die Datei/o.ä. nicht gibt.
__________________
Wat der Bauer nich kennt, dit frisster nich.
|
30.12.2007, 18:08:37
|
Anfänger
|
|
Registriert seit: Sep 2007
Beiträge: 68
|
|
AW: Anfrage wird nicht in der DB gespeichert
Zitat:
Zitat von defabricator
Das ist jetzt aber eine Meldung vom Webserver (also noch nicht mal von php), dass es das Skript/die Seite/die Datei/o.ä. nicht gibt.
|
stimmt.
aber eigentlich soll sich das formular wieder an sich selber schicken!
PHP-Code:
<form method="post" action="<?php $_SERVER['self']; ?>" name="kontakt">
|
30.12.2007, 18:13:47
|
Senior Member
|
|
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 55
Beiträge: 1.020
|
|
AW: Anfrage wird nicht in der DB gespeichert
Da fehlt mindestens ein echo, damit die PHP Anweisung überhaupt irgendwas macht.
Ausserdem kann $_SERVER['PHP_SELF'] Benutzerdaten enthalten. Ungefiltert eröffnet das XSS Lücken. action="?" reicht völlig aus.
Allerdings wird der Browser mit action="" (so wie es im Moment bei ihm ankommt) wohl auch das gleiche Skript aufzurufen versuchen. Woher der Fehler kommt, weiss ich daher auch nicht. Ich würde mal im Serverlog nachgucken, was da für eine Anfrage reinkam.
__________________
Wat der Bauer nich kennt, dit frisster nich.
Geändert von defabricator (30.12.2007 um 18:15:09 Uhr)
|
30.12.2007, 18:27:04
|
Senior Member
|
|
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 55
Beiträge: 1.020
|
|
AW: Anfrage wird nicht in der DB gespeichert
Ach, der Indexname ist ja auch noch falsch. $_SERVER['PHP_SELF']
Dein Code schreibst vermutlich eine Warnung in das action Attribut.
Beim browser kommt vermutlich <form action="Notice: Undefined index: self.... an.
Einfach action="?" bitte.
__________________
Wat der Bauer nich kennt, dit frisster nich.
|
30.12.2007, 21:13:31
|
Anfänger
|
|
Registriert seit: Sep 2007
Beiträge: 68
|
|
AW: Anfrage wird nicht in der DB gespeichert
also... bevor ich des jetzt alles aufschreibe,
testet es einfach mal selber: (hier der ursrprüngliche code)
http://sirius.pytalhost.de/energie/kontakt.php
und hier mal mit action "?":
http://sirius.pytalhost.de/energie/kontakt2.php
(glaub sogar beides gleich)
mit action="?" kommen folgende fehler:
Code:
Notice: Undefined index: firma in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 5
Notice: Undefined index: vorname in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 6
Notice: Undefined index: name in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 7
Notice: Undefined index: strasse in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 8
Notice: Undefined index: plz in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 9
Notice: Undefined index: ort in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 10
Notice: Undefined index: tel in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 11
Notice: Undefined index: mobil in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 12
Notice: Undefined index: fax in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 13
Notice: Undefined index: email in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 14
Notice: Undefined index: betreff in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 15
Notice: Undefined index: nachricht in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 16
Notice: Undefined index: sicherheitscode in E:\Programme\xampp\htdocs\sites\energie\kontakt.php on line 51
|
30.12.2007, 21:34:43
|
Senior Member
|
|
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 55
Beiträge: 1.020
|
|
AW: Anfrage wird nicht in der DB gespeichert
Zitat:
Zitat von -=Sirius=-
mit action="?" kommen folgende fehler:
|
Oh, ich hatte aus
Zitat:
Zitat von -=Sirius=-
as kommt.
aber is ja klar.. die variablen sind ja noch nicht vergeben. die solln ja nur gespeichert werden, wenn etwas abgesendet wird
|
abgeleitet, dass Du wüsstest, warum diese Warnungen kommen? Macht es jetzt klick?
Wenn nicht, lass das Skript mal mit
PHP-Code:
<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
session_start();
echo '<pre>_POST:'; print_r($_POST); echo '</pre>';
beginnen.
__________________
Wat der Bauer nich kennt, dit frisster nich.
|
30.12.2007, 22:04:42
|
Anfänger
|
|
Registriert seit: Sep 2007
Beiträge: 68
|
|
AW: Anfrage wird nicht in der DB gespeichert
jetzt steht oben noch:
_POST:Array
(
)
aber nee.. ich kapier nicht warum das so ist
erklär mir mal bitte
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 17:35:05 Uhr.
|