php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Jobs und Projekte > Projekthilfe
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 21-01-2010, 14:01
Benutzerbild von Hauser Hauser
 Registrierter Benutzer
Links : Onlinestatus : Hauser ist offline
Registriert seit: Dec 2009
Ort: Ahnsbeck
Beiträge: 112
Hauser befindet sich auf einem aufstrebenden Ast
Standard PHP Script schreibt nur 0 in DB

Hallo Freunde.

Ich sitzte geade hier um Daten aus einem Mailformular in die
Datenbank zu schreiben. Leider erhalte ich nur 0 Einträge in die
Datenbank. Ich tippe mal auf eine falsche Form in der real_escape_string
Verkettung, die ich so auch noch nicht vorher probiert habe, also mein
erster Versuch sozusagen.

Ist klasse, wenn mir jemand mal einen Tipp geben kann. Danke.

PHP-Code:
<?php
 
error_reporting
(E_ALL); #zeig alle Fehler 
ini_set('display_errors''1'); 
 
include_once 
$_SERVER['DOCUMENT_ROOT'] . '/securimage/securimage.php';
$securimage = new Securimage();
 
if (
$securimage->check($_POST['captcha_code']) == false) {
 
  die(
'Der von Ihnen eingegebene Code ist nicht korrekt. Bitte gehen Sie zurück und 
  versuchen es nochmal.'
);
 
}else
{
$from "From: "$_POST['email'] ."";
$to "oliver.ziebarth@t-online.de";
$betreff "Email Kontaktformular";
$name $_POST['name'];
 
$strasse $_POST['strasse'];
 
$plzort $_POST['plzort'];
 
$email $_POST['email'];
$telefon $_POST['telefon'];
 
$fax $_POST['fax'];
 
$anliegen $_POST['anliegen'];
$message =  "Diese Nachricht wurde vom Kontaktformular erzeugt. \n"
               
."Die Nachricht lautet: \n"
      
."Name: "$name ."\n"
      
."Strasse: "$strasse ." \n"
      
."PLZ / Ort: "$plzort ." \n"
      
."E-Mail: "$email ." \n"
      
."Telefon: "$telefon ." \n"
      
."Fax: "$fax ." \n"
      
."Anliegen/Frage: "$anliegen ." \n";
 
if(!
mail($to$betreff$message$from)) {
    echo 
"Fehler beim Senden der Mail! \n";
    exit;
    } 
    else {
    echo 
"Mail erfolgreich gesendet! \n";
    }
 
require_once 
'inc/login.inc.php';
 
$verbindung mysqli_connect($server$benutzer$passwort);
 
$id 'ID';
 
$id $verbindung->real_escape_string($id);
 
$name 'name';
    
$name $verbindung->real_escape_string($name);
 
$strasse 'strasse';
    
$strasse $verbindung->real_escape_string($strasse);
 
$plzort 'plzort';
    
$plzort $verbindung->real_escape_string($plzort);
 
$email 'email';
    
$email $verbindung->real_escape_string($email);
 
$telefon 'telefon';
    
$telefon $verbindung->real_escape_string($telefon);
 
$fax 'fax';
    
$fax $verbindung->real_escape_string($fax);
 
$anliegen 'anliegen';
    
$anliegen $verbindung->real_escape_string($anliegen);
 
 if (
$verbindung){
 
 
mysqli_select_db ($verbindung$datenbank);
 
  if(
mysqli_error($verbindung)){
   echo 
'Fehler: Keine Verbindung zur Datenbank' mysqli_error($verbindung);
 
  }else{
   echo 
print_r ($_POST);
 
   if (isset(
$_POST['ID'])) {
 
$sql "INSERT INTO kontakt
(name,strasse,plzort,email,telefon,fax,anliegen) VALUES
($name='"
.mysqli_real_escape_string($verbindung,$_POST[$name])."', 
$strasse='"
.mysqli_real_escape_string($verbindung,$_POST[$strasse])."', 
$plzort='"
.mysqli_real_escape_string($verbindung,$_POST[$plzort])."', 
$email='"
.mysqli_real_escape_string($verbindung,$_POST[$email])."', 
$telefon='"
.mysqli_real_escape_string($verbindung,$_POST[$telefon])."', 
$fax='"
.mysqli_real_escape_string($verbindung,$_POST[$fax])."', 
$anliegen='"
.mysqli_real_escape_string($verbindung,$_POST[$anliegen])."' )" ;
 
mysqli_query($verbindung$sql);
 
echo 
'Wir haben Ihre Frage / Anfrage erhalten ! Vielen Dank!';
 
mysqli_close($verbindung);
      }
   }
  }
}
 
?>
Gruß
Der Hauser

Geändert von Hauser (21-01-2010 um 21:52 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 21-01-2010, 15:13
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

erstens werden statische Feldnamen nicht real-escaped (Zeilen 50-65)! Zweitens ist das kein gültiges Insert-Statement und du solltest dir mal die MySQL-Doku dazu ansehen. Drittens hast du entweder alle Fehlermeldungen unterschlagen oder error_reporting regelwidrig eingestellt und solltest daher die Forenregeln beachten. Und viertens ist es keine Art, hier einfach den ganzen Quelltext reinzuwerfen, ohne jegliches Anzeichen für eigene Bemühungen und dann drauf warten, dass den jemand Korrektur liest. Du hättest es ja wenigstens auf den relevanten (letzten) Teil begrenzen können.

Daher: *move* nach Projekthilfe.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #3 (permalink)  
Alt 21-01-2010, 15:42
Benutzerbild von Hauser Hauser
 Registrierter Benutzer
Links : Onlinestatus : Hauser ist offline
Registriert seit: Dec 2009
Ort: Ahnsbeck
Beiträge: 112
Hauser befindet sich auf einem aufstrebenden Ast
Standard

Also, sorry !

Ich habe schon einiges versucht, um denn Fehler zu finden. Würde ich das hier alles reinschreiben, könnte es ebenso den Rahmen sprengen. Daher finde ich dieses als eine leichte Unterstellung, dass ich nichts getan hätte.

Wenn die Regel besagt, dass Komplettlösungen nicht angeboten werden, darf ich als Intressent doch auch nicht erwarten, dass jemand mir hier ein komplett richtiges Ergebnis liefert, bzw. korrektur liest, das will ich doch auch gar nicht und ich sehe auch nicht, dass ich dieses Angefordert hätte.

Der wesentliche Teil ! Gibt man zu wenig an, kann es unter umständen falsch sein.

Fehlermeldung habe ich nicht erhalten, sonst hätte ich sie doch gepostet bzw. die Frage gar nicht gestellt, da ich dann ja Anhaltspunkte hätte.n natürlich interessiert an weiteren Methoden Fehler zu entlarven

Danke aber für die Änsätze:

Zitat:
erstens werden statische Feldnamen nicht real-escaped (Zeilen 50-65)! Zweitens ist das kein gültiges Insert-Statement und du solltest dir mal die MySQL-Doku dazu ansehen
Mit Zitat antworten
  #4 (permalink)  
Alt 21-01-2010, 15:46
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von Hauser Beitrag anzeigen
Fehlermeldung habe ich nicht erhalten, sonst hätte ich sie doch gepostet
Das war das "entweder", aber lies mal das "oder".

Außerdem habe ich nicht unterstellt, dass du dich nicht selbst bemüht hättest, sondern nur bemängelt, dass du dafür keine Anzeichen hast erkennen lassen und das ist nunmal Fakt.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #5 (permalink)  
Alt 21-01-2010, 16:35
Benutzerbild von Hauser Hauser
 Registrierter Benutzer
Links : Onlinestatus : Hauser ist offline
Registriert seit: Dec 2009
Ort: Ahnsbeck
Beiträge: 112
Hauser befindet sich auf einem aufstrebenden Ast
Standard

Ich habe es jetzt folgendermaßen geändert.
Nun schreibt er mir die Werte in die Datenbank.

Hoffe das es jetzt so richtig gelöst ist.

PHP-Code:
require_once 'inc/login.inc.php';
 
$verbindung mysqli_connect($server$benutzer$passwort);
 
$name $_POST['name'];
$strasse $_POST['strasse'];
$plzort $_POST['plzort'];
$email $_POST['email'];
$telefon $_POST['telefon'];
$fax $_POST['fax'];
$anliegen $_POST['anliegen'];
 
    
$name $verbindung->real_escape_string($name);
    
$strasse $verbindung->real_escape_string($strasse);
    
$plzort $verbindung->real_escape_string($plzort);
    
$email $verbindung->real_escape_string($email);
    
$telefon $verbindung->real_escape_string($telefon);
    
$fax $verbindung->real_escape_string($fax);
    
$anliegen $verbindung->real_escape_string($anliegen);
  
 if (
$verbindung){
  
 
mysqli_select_db ($verbindung$datenbank);
 
  if(
mysqli_error($verbindung)){
   echo 
'Fehler: Keine Verbindung zur Datenbank' mysqli_error($verbindung);
        
  }else{
   echo 
print_r ($_POST);
      
   if (isset(
$_POST['ID'])) {

$sql "INSERT INTO kontakt
(name,strasse,plzort,email,telefon,fax,anliegen) VALUES
('$name','$strasse', '$plzort','$email','$telefon','$fax','$anliegen')"
;
mysqli_query($verbindung$sql);
 
echo 
'Wir haben Ihre Frage / Anfrage erhalten ! Vielen Dank!'
Zitat:
...sondern nur bemängelt, dass du dafür keine Anzeichen
hast erkennen lassen und das ist nunmal Fakt.
...und ich gelobe auf jeden Fall Besserung bei meinen Postings in Sachen
Korrespondenz meiner Taten.

Lieben Gruß
Hauser.

Geändert von Hauser (21-01-2010 um 21:51 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 21-01-2010, 17:06
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Eine Anmerkung noch. Du wechselst bei den MySQLi-Aufrufen immer zwischen objektorientierter und funktionsbasierter Notation. Es wäre besser, wenn du dich für eine Variante (mein Vorschlag: oo) entscheiden würdest.

Und bitte brich den Code um.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #7 (permalink)  
Alt 21-01-2010, 21:08
Benutzerbild von Hauser Hauser
 Registrierter Benutzer
Links : Onlinestatus : Hauser ist offline
Registriert seit: Dec 2009
Ort: Ahnsbeck
Beiträge: 112
Hauser befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Du wechselst bei den MySQLi-Aufrufen immer zwischen objektorientierter und funktionsbasierter Notation. Es wäre besser, wenn du dich für eine Variante (mein Vorschlag: oo) entscheiden würdest.

Und bitte brich den Code um.
Bist du bitte so nett und kannst mir objektorientierter und funktionsbasierter Notation erklären. Ich habe ehrlich gesagt schon bei Wiki nachgesehen, aber dazu nix gefunden. Was bedeutet das genau und was bewirkt es ?

Code umbrechen = Hab ich noch nie gehört, sorry, soll ich Zeilenumbrüche verwende ? Hab ein 24 Monitor, kommt daher das Probelm.

Danke für die Aufklärung!
Mit Zitat antworten
  #8 (permalink)  
Alt 21-01-2010, 21:26
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Objektorientierte Notation (empfohlen):
PHP-Code:
$verbindung->query("select * from foo"); 
Funktionsbasierte Notation:
PHP-Code:
mysqli_query($verbindung"select * from foo"); 
Du verwendest derzeit beides wild durcheinander.

Zitat:
Zitat von Hauser Beitrag anzeigen
Code umbrechen = Hab ich noch nie gehört, sorry, soll ich Zeilenumbrüche verwende ? Hab ein 24 Monitor, kommt daher das Probelm.
Ja, bitte - und zwar so, dass keine Zeile länger als 100 Zeichen ist. Steht auch in den Forenregeln und das nützliche Tool in meiner Signatur sollte dir das auch schon gesagt haben.

Dein 24"-Monitor ist kein Problem, solange du nicht davon ausgehst, dass alle so einen haben
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (21-01-2010 um 21:29 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 21-01-2010, 21:34
Benutzerbild von Hauser Hauser
 Registrierter Benutzer
Links : Onlinestatus : Hauser ist offline
Registriert seit: Dec 2009
Ort: Ahnsbeck
Beiträge: 112
Hauser befindet sich auf einem aufstrebenden Ast
Standard

Alles klar, danke Dir für die Infos

Gruß,

Hauser
Mit Zitat antworten
  #10 (permalink)  
Alt 21-01-2010, 21:37
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Gern geschehen, aber ich sehe immer noch überlangen Code!
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #11 (permalink)  
Alt 21-01-2010, 21:54
Benutzerbild von Hauser Hauser
 Registrierter Benutzer
Links : Onlinestatus : Hauser ist offline
Registriert seit: Dec 2009
Ort: Ahnsbeck
Beiträge: 112
Hauser befindet sich auf einem aufstrebenden Ast
Standard

Besser so

Dafür hat er sich doch ein verdient, oder. LOL

Gruß,

Hauser
Mit Zitat antworten
  #12 (permalink)  
Alt 21-01-2010, 21:57
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Danke und Prost. Bitte beim nächsten Mal gleich beachten.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #13 (permalink)  
Alt 21-01-2010, 22:04
Benutzerbild von Hauser Hauser
 Registrierter Benutzer
Links : Onlinestatus : Hauser ist offline
Registriert seit: Dec 2009
Ort: Ahnsbeck
Beiträge: 112
Hauser befindet sich auf einem aufstrebenden Ast
Standard

Ja, ein Smiley mit einem Glas Wein wird hier ja leider nicht angeboten.

Aber Danke.

Gruß
Hauser
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mein Script schreibt doppelt in die Datenbank, warum? Maribel PHP Developer Forum 40 18-05-2008 02:00
Script schreibt nicht in die mysql datenbank! kim88 PHP Developer Forum 14 30-01-2006 21:29
ab ca. 1500 Zeichen schreibt Script nicht in Datenbank syco23 PHP Developer Forum 15 10-07-2003 20:57
Brauche Script, das mir einen vordefinierten Inhalt in einer neue Datei schreibt RookieXL2 PHP Developer Forum 20 25-06-2003 21:45
[Script] Suche ein Bilderschutz Script das Namen ins Bild schreibt ThomasF Apps und PHP Script Gesuche 9 03-06-2003 13:29

Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

Formmailer v1.6.1 Bootstrap 4

Formmailer v1.6.1 Bootstrap wurde extra für Bootstrap entwickelt. Mit Bootstrap kann man schnell und einfach kleine oder große Projekte entwickeln, die auf Geräten in allen erdenklichen Formen funktionieren.

18.12.2018 arne-home | Kategorie: PHP/ Formular
HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
 Alle PHP Scripte anzeigen

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