php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


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! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 30-10-2021, 13:44
phppower
 Registrierter Benutzer
Links : Onlinestatus : phppower ist offline
Registriert seit: Jul 2009
Beiträge: 73
phppower befindet sich auf einem aufstrebenden Ast
phppower eine Nachricht über Skype™ schicken
Standard Formulardaten in DB eintragen php 8

Hallo,
ich stelle gerade einige meiner Projekte auf php 8 um und dazu waren einige Änderungen nötig. Die Abfragen habe ich soweit hin bekommen, aber mein nachfolgender Code trägt nichts in die Datenbank ein, gibt aber auch keine Fehlermeldung zurück. Wäre lieb wenn da einer mal kurz drüber schaut, vielleicht übersehe ich das etwas.


PHP-Code:
$bdd = new PDO('mysql:host='.$host.';dbname='.$db_name.''$username$password);
if(!
$bdd)
{
    echo 
'Datenbankverbindungsfehler.';
    exit();

PHP-Code:
if($_POST['Captcha'] == $_SESSION['rand_code'])
            {
$sql $bdd->prepare("
INSERT INTO pdd_forum_question (
  topic,
  detail,
  name,
  email,
  datetime
) VALUES (
  :topic,
  :detail,
  :name,
  :email,
  datetime
)"
);
$sql->execute( array(
    
'topic' => trim($_POST['topic']),
    
'detail' => trim($_POST['detail']),
    
'name' => trim($_POST['name']),
    
'email' => trim($_POST['email']),
    
'datetime' => date('Y-m-d H:i:s'strtotime 7200($_POST['datetime']))
) );            
}
echo 
'<meta http-equiv="refresh" content="1; URL=index.php">'
Danke schon mal
__________________
PHP-Scripte | Free-Scripts
Mit Zitat antworten
  #2 (permalink)  
Alt 30-10-2021, 16:12
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.826
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Du solltest die Fehlerausgabe aktivieren, damit Fehler nicht ignoriert werden.

PHP-Code:
$bdd = new PDO('mysql:host=' $host ';dbname=' $db_name$username$password, [
    
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]); 
Mit Zitat antworten
  #3 (permalink)  
Alt 30-10-2021, 17:01
phppower
 Registrierter Benutzer
Links : Onlinestatus : phppower ist offline
Registriert seit: Jul 2009
Beiträge: 73
phppower befindet sich auf einem aufstrebenden Ast
phppower eine Nachricht über Skype™ schicken
Standard Formulardaten in DB eintragen php 8

ok, danke für den Hinweis, hab es auch direkt ergänzt.



2 Fehler konnte ich schon selbst entdecken
PHP-Code:
:datetime 
da fehlte der : davor und

PHP-Code:
$_SESSION['CAPTCHA_CODE'


löst aber leider mein Problem nicht.
__________________
PHP-Scripte | Free-Scripts
Mit Zitat antworten
  #4 (permalink)  
Alt 30-10-2021, 17:07
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.826
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Und das Problem ist? Wenn es in die Datenbank nicht eingetragen werden kann, gibt es eine Fehlermeldung.
Mit Zitat antworten
  #5 (permalink)  
Alt 30-10-2021, 17:34
phppower
 Registrierter Benutzer
Links : Onlinestatus : phppower ist offline
Registriert seit: Jul 2009
Beiträge: 73
phppower befindet sich auf einem aufstrebenden Ast
phppower eine Nachricht über Skype™ schicken
Standard Formulardaten in DB eintragen php 8

Zitat:
Zitat von h3ll Beitrag anzeigen
Und das Problem ist? Wenn es in die Datenbank nicht eingetragen werden kann, gibt es eine Fehlermeldung.

das keine Fehlermeldung ausgegeben wird. Prüfe gerade ob es am Captcha liegt aber nicht mal da kommt ne meldung


PHP-Code:
ini_set('display_errors'1);
error_reporting(E_ALL);
include(
'sys.php');

//if($_POST['Captcha'] == $_SESSION['CAPTCHA_CODE'])
//            {
if(!empty($_POST["Eintragen"])) {
      
$topic $_POST["topic"];
      
$detail $_POST["detail"];
      
$name $_POST["name"];
      
$email $_POST["email"];
      
$captcha $_POST["Captcha"];

      
$captchaUser filter_var($_POST["Captcha"], FILTER_SANITIZE_STRING);

      if(empty(
$captcha)) {
        
$captchaError = array(
          
"status" => "alert-danger",
          
"message" => "Bitte Captcha eintragen."
        
);
      }
      else if(
$_SESSION['CAPTCHA_CODE'] == $captchaUser){
        
$captchaError = array(
          
"status" => "alert-success",
          
"message" => "Formulardaten wurden gesendet."
        
);
      } else {
        
$captchaError = array(
          
"status" => "alert-danger",
          
"message" => "Captcha ist leider Fehlerhaft."
        
);
      }
    }
    {
$sql $bdd->prepare("
INSERT INTO pdd_forum_question (
  topic,
  detail,
  name,
  email,
  datetime
) VALUES (
  :topic,
  :detail,
  :name,
  :email,
  :datetime
)"
);
$sql->execute( array(
    
'topic' => trim($_POST['topic']),
    
'detail' => trim($_POST['detail']),
    
'name' => trim($_POST['name']),
    
'email' => trim($_POST['email']),
    
'datetime' => date('Y-m-d H:i:s'strtotime 7200($_POST['datetime']))
) );            
}

echo 
'<meta http-equiv="refresh" content="1; URL=index.php">'

es scheint mir das es wirklich am captcha liegt


PHP-Code:
session_start();

  
// Generate captcha code
  
$random_num    md5(random_bytes(64));
  
$captcha_code  substr($random_num06);

  
// Assign captcha in session
  
$_SESSION['CAPTCHA_CODE'] = $captcha_code;

  
// Create captcha image
  
$layer imagecreatetruecolor(7020);
  
$captcha_bg imagecolorallocate($layer255255255);
  
imagefill($layer00$captcha_bg);
  
$captcha_text_color imagecolorallocate($layer000);
  
imagestring($layer550$captcha_code$captcha_text_color);
  
header("Content-type: image/jpeg");
  
imagejpeg($layer); 

egal was ich umbaue oder versuche zu verbessern, es kommt keine Fehlermeldung.
__________________
PHP-Scripte | Free-Scripts
Mit Zitat antworten
  #6 (permalink)  
Alt 30-10-2021, 18:02
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.826
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Dann betreibe Debugging. Lass dir verschiedene Variablenwerte mit var_dump() ausgeben und überprüfe, ob sie das beinhalten, das du erwartest.
Mit Zitat antworten
  #7 (permalink)  
Alt 31-10-2021, 12:24
phppower
 Registrierter Benutzer
Links : Onlinestatus : phppower ist offline
Registriert seit: Jul 2009
Beiträge: 73
phppower befindet sich auf einem aufstrebenden Ast
phppower eine Nachricht über Skype™ schicken
Standard Formulardaten in DB eintragen php 8

Zitat:
Zitat von h3ll Beitrag anzeigen
Dann betreibe Debugging. Lass dir verschiedene Variablenwerte mit var_dump() ausgeben und überprüfe, ob sie das beinhalten, das du erwartest.

alles gelöst Danke
__________________
PHP-Scripte | Free-Scripts

Geändert von phppower (31-10-2021 um 15:45 Uhr) Grund: selbst gelöst
Mit Zitat antworten
  #8 (permalink)  
Alt 06-11-2021, 15:56
phppower
 Registrierter Benutzer
Links : Onlinestatus : phppower ist offline
Registriert seit: Jul 2009
Beiträge: 73
phppower befindet sich auf einem aufstrebenden Ast
phppower eine Nachricht über Skype™ schicken
Standard Fehlermeldung

Also ich hab folgende Fehlermeldung:

Warning: session_start(): Session cannot be started after headers have already been sent in /hp/bg/ae/cc/www/demoMitDb/php0476/mainpage.php on line 1

Warning: Undefined variable $_SESSION in /hp/bg/ae/cc/www/demoMitDb/php0476/mainpage.php on line 19

Warning: Trying to access array offset on value of type null in /hp/bg/ae/cc/www/demoMitDb/php0476/mainpage.php on line 19

Was diese bedeutet weiss ich in etwa nur frage ich mich wo der Fehler liegt?


hier
PHP-Code:
<input class="textbox" type="text" name="inputurl" value="<?php if (!isset ($_POST['inputurl'])); ?>" style="border-radius: 5px;"/>
oder hier
PHP-Code:
if(isset($_POST['submit']))
{
    {
if(!empty(
$_POST['inputurl']) && !empty($_POST['inputname']) && ($auth == $auth1))
        {
if(
$_POST['Captcha'] == $_SESSION['rand_code'])
            {
$url $_POST['inputurl'];
            if (
preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i'$url))
                {
                    {
if (!
get_magic_quotes_gpc())
                        {
                            
$_POST['inputurl'] = addslashes($_POST['inputurl']);
                        } 
zeile 5 wäre die besagte Zeile
__________________
PHP-Scripte | Free-Scripts
Mit Zitat antworten
  #9 (permalink)  
Alt 06-11-2021, 16:18
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.826
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Die Fehlermeldung sagt eigentlich schon alles. Vor dem Aufruf von session_start() darfst du keine Ausgabe machen.

Magic Quotes wurden 2012 aus PHP entfernt, warum behandelst du das immer noch? Außerdem ist addslashes() Käse. Es gibt keinen Grund das zu verwenden.

Hast du den Code irgendwo aus einer Mülltonne ausgegraben?
Mit Zitat antworten
  #10 (permalink)  
Alt 06-11-2021, 16:26
phppower
 Registrierter Benutzer
Links : Onlinestatus : phppower ist offline
Registriert seit: Jul 2009
Beiträge: 73
phppower befindet sich auf einem aufstrebenden Ast
phppower eine Nachricht über Skype™ schicken
Standard Fehlermeldung

Zitat:
Zitat von h3ll Beitrag anzeigen
Die Fehlermeldung sagt eigentlich schon alles. Vor dem Aufruf von session_start() darfst du keine Ausgabe machen.

Magic Quotes wurden 2012 aus PHP entfernt, warum behandelst du das immer noch? Außerdem ist addslashes() Käse. Es gibt keinen Grund das zu verwenden.

Hast du den Code irgendwo aus einer Mülltonne ausgegraben?

nein ich schreibe gerade datei für datei um soweit bin ich noch nicht ich will erstmal das session problem lösen und session_start() steht oben in erster zeile vor jeglicher Ausgabe. deswegen bin ich so verwundert.


die anderen sachen kommen jetzt nach und nach raus, arbeite mich halt von oben nach unten durch und ja aus Mülltonne zwar nicht aber ist eines meiner ganz alten Projekte die ich gerade umschreibe. ist jetzt die letzte Datei
__________________
PHP-Scripte | Free-Scripts
Mit Zitat antworten
  #11 (permalink)  
Alt 06-11-2021, 17:04
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.826
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Es findet in Zeile 1 von mainpage.php eine Ausgabe statt, die nicht stattfinden darf. Vermutlich sind das Leerzeichen, Zeilenumbrüche oder ein UTF8-BOM. Vor <?php darf rein gar nichts stehen. Kein einziges Byte, egal ob sichtbar oder unsichtbar.
Mit Zitat antworten
  #12 (permalink)  
Alt 06-11-2021, 18:11
phppower
 Registrierter Benutzer
Links : Onlinestatus : phppower ist offline
Registriert seit: Jul 2009
Beiträge: 73
phppower befindet sich auf einem aufstrebenden Ast
phppower eine Nachricht über Skype™ schicken
Standard Fehlermeldung

Zitat:
Zitat von h3ll Beitrag anzeigen
Es findet in Zeile 1 von mainpage.php eine Ausgabe statt, die nicht stattfinden darf. Vermutlich sind das Leerzeichen, Zeilenumbrüche oder ein UTF8-BOM. Vor <?php darf rein gar nichts stehen. Kein einziges Byte, egal ob sichtbar oder unsichtbar.

ich bin so ein Depp, da hätte ich wirklich selbst drauf kommen müssen. Die mainpage.php includiert ja in der index.php ergo es stehen Daten vor session_start () also muss das oben in die Index



oh man manchmal sieht man den wald vor lauter Bäumen nicht


aber Danke
__________________
PHP-Scripte | Free-Scripts
Mit Zitat antworten
  #13 (permalink)  
Alt 18-11-2021, 01:06
phppower
 Registrierter Benutzer
Links : Onlinestatus : phppower ist offline
Registriert seit: Jul 2009
Beiträge: 73
phppower befindet sich auf einem aufstrebenden Ast
phppower eine Nachricht über Skype™ schicken
Standard Formulardaten in DB eintragen php 8

stehe mal wieder auf dem Schlau
das ist die Fehlermeldung: Invalid parameter number: number of bound variables does not match number of tokens in
nun hab ich das so wie ich es verstanden habe abzuändern aber der Fehler bleibt

PHP-Code:
// speichern
        
$aendern $db->prepare("UPDATE ".$prefix."zeitbanner Set banner = ':banner', url = ':url' WHERE id = '".$_GET["gid"]."'");
        
$insert_yes $aendern->execute(array(':banner' => $banner':url' => $url));
        if (
$insert_yes) { 
__________________
PHP-Scripte | Free-Scripts
Mit Zitat antworten
  #14 (permalink)  
Alt 18-11-2021, 10:39
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.826
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Du darfst Variablen nicht einfach so in SQL-Code einfügen. Das ist kann zu fehlerhaften SQL-Code führen und ist außerdem eine gravierende Sicherheitslücke.

Außerdem gehören um :banner und :url keine Hochkomma.
Mit Zitat antworten
  #15 (permalink)  
Alt 18-11-2021, 17:05
phppower
 Registrierter Benutzer
Links : Onlinestatus : phppower ist offline
Registriert seit: Jul 2009
Beiträge: 73
phppower befindet sich auf einem aufstrebenden Ast
phppower eine Nachricht über Skype™ schicken
Standard Formulardaten in DB eintragen php 8

Zitat:
Zitat von h3ll Beitrag anzeigen
Du darfst Variablen nicht einfach so in SQL-Code einfügen. Das ist kann zu fehlerhaften SQL-Code führen und ist außerdem eine gravierende Sicherheitslücke.

Außerdem gehören um :banner und :url keine Hochkomma.

Danke konnte es beheben
__________________
PHP-Scripte | Free-Scripts
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
formular, php8, sql


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Formulardaten in Datenbank eintragen Catalina SQL / Datenbanken 8 11-12-2019 17:38
DropDown Formulardaten in mysql eintragen TomH28 SQL / Datenbanken 4 24-08-2006 11:35
Formulardaten mkoegler PHP Developer Forum 14 28-02-2003 14:14
Formulardaten mkoegler PHP Developer Forum 3 15-01-2003 12:23
formulardaten mit php molowan PHP Developer Forum 5 27-09-2002 14:21

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

Software für alle Arten von digitalen Marktplätzen
Software für alle Arten von digitalen MarktplätzenDigitale Marktplätze sind nicht nur im B2C Geschäft seit Jahren etabliert, sondern erfreuen sich mit Kleinanzeigen-Märkten auf lokaler und regionaler Ebene auch im privaten Bereich wachsender Beliebtheit.

09.11.2021 | Berni

Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft haben
Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft habenSEO oder SEA? Warum SEO die besserer Methode ist.

01.10.2021 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

09.11.2021 Berni | Kategorie: PHP/ Anzeigenmarkt
PHP Newsletter Script SuperWebMailer ansehen PHP Newsletter Script SuperWebMailer

Die webbasierte PHP Newsletter Software SuperWebMailer ist die optimale Lösung zur Durchführung eines erfolgreichen E-Mail-Marketings. Zur Nutzung des PHP Script-Pakets ist eine eigene Webpräsenz/Server mit PHP 5 oder neuer, MySQL 4 oder neuer und die

28.10.2021 mirko_swm | Kategorie: PHP/ Mail
Guestbook Light ansehen Guestbook Light

Das Guestbook Light (kurz: "Gblight") ist ein kinderleichtes Gästebuch in PHP. Durch den Einsatz einer SQLite Datenbank ist es einfach, leicht portabel und schnell. Aufgrund moderner Techniken erfüllt Gblight auch die neuesten Webstandards.

28.10.2021 scripthostingnet | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:44 Uhr.