SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 28.12.2007, 19:23:54
-=Sirius=- -=Sirius=- ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 68
-=Sirius=- eine Nachricht über ICQ schicken
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&ouml;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$i1);
               
$keychar substr($key, ($i strlen($key))-11);
               
$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&szlig;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&ouml;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&szlig;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&szlig;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
__________________
cu Sirius


Meine Projekte:
Maafischer-Viereth.de und noch einige in Bearbeitung :)
Mit Zitat antworten
  #2  
Alt 28.12.2007, 19:42:38
defabricator defabricator ist offline
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.
Mit Zitat antworten
  #3  
Alt 29.12.2007, 19:16:49
-=Sirius=- -=Sirius=- ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 68
-=Sirius=- eine Nachricht über ICQ schicken
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.
__________________
cu Sirius


Meine Projekte:
Maafischer-Viereth.de und noch einige in Bearbeitung :)
Mit Zitat antworten
  #4  
Alt 29.12.2007, 19:20:14
defabricator defabricator ist offline
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.
Mit Zitat antworten
  #5  
Alt 30.12.2007, 18:08:37
-=Sirius=- -=Sirius=- ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 68
-=Sirius=- eine Nachricht über ICQ schicken
AW: Anfrage wird nicht in der DB gespeichert

Zitat:
Zitat von defabricator Beitrag anzeigen
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">
__________________
cu Sirius


Meine Projekte:
Maafischer-Viereth.de und noch einige in Bearbeitung :)
Mit Zitat antworten
  #6  
Alt 30.12.2007, 18:13:47
defabricator defabricator ist offline
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)
Mit Zitat antworten
  #7  
Alt 30.12.2007, 18:27:04
defabricator defabricator ist offline
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.
Mit Zitat antworten
  #8  
Alt 30.12.2007, 21:13:31
-=Sirius=- -=Sirius=- ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 68
-=Sirius=- eine Nachricht über ICQ schicken
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
__________________
cu Sirius


Meine Projekte:
Maafischer-Viereth.de und noch einige in Bearbeitung :)
Mit Zitat antworten
  #9  
Alt 30.12.2007, 21:34:43
defabricator defabricator ist offline
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.
Mit Zitat antworten
  #10  
Alt 30.12.2007, 22:04:42
-=Sirius=- -=Sirius=- ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 68
-=Sirius=- eine Nachricht über ICQ schicken
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
__________________
cu Sirius


Meine Projekte:
Maafischer-Viereth.de und noch einige in Bearbeitung :)
Mit Zitat antworten
Antwort


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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ausgabe der Datenbank klickbar als neue Anfrage an DB lagaffe PHP Grundlagen 3 31.10.2006 11:49:49
Wie kann ich verhindern das 2 mal der gleiche Monat in die Array gespeichert wird? Ralphwiggum PHP Grundlagen 6 27.05.2006 11:12:59
Anfrage zur Mysql abfrage Fabian85 MySQLi/PDO/(MySQL) 6 23.02.2005 18:16:28
Ergeniss einer Mysql Anfrage in Variable speichern Skar PHP Grundlagen 3 11.08.2004 10:41:08
classen oder functionen erst auf anfrage includieren? flobee PHP für Fortgeschrittene und Experten 16 10.02.2004 15:54:15


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


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt