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 16-02-2015, 20:41
kpc
 Registrierter Benutzer
Links : Onlinestatus : kpc ist offline
Registriert seit: Feb 2015
Beiträge: 3
kpc befindet sich auf einem aufstrebenden Ast
Standard Formular / header-Problem

Hallo,

ich bin neu hier im Forum und blutiger Anfänger.
Und hoffentlich poste ich hier an der richtigen Stelle.
Zum Problem:
1. eine Seite "Registrierung", HTML-Formular ohne php, ein paar javascript-Prüfungen, php-script mit weiteren Prüfungen und
Funktionsaufruf für die Datenbankaktionen, abhängig vom Rückgabewert Weiterleitung auf andere Seiten.
Alles schön, funktioiniert !
2. Nachbearbeitung Registrierung ( Struktur wie bei Registrierung )
Füllen der Formular-Defaultwerte per <?php echo $variable; ?>
Das reicht offensichtlich für das Senden eines neuen headers. ( vermute ich )
Sobald am Ende der Verarbeitung auf eine neue Seite weitergeleitet wird.
kommt :
Warning: Cannot modify header information -
headers already sent by (output started at C:\xampp\htdocs\site\men1sub\reg1cont.php:40)
in C:\xampp\htdocs\site\inclphp\register_nb.inc.php on line 20
-------------
register_nb.inc.php on line 20 verweist auf ein "header("Location: ......."
reg1cont.php:40 verweist auf eine Stelle mitten im Formular. Merkwürdigerweise nicht
auf die erste Zeile mit einem "<?php echo $variable; ?>" .......?!

-------------
Ist meine Vermutung richtig ?
Was muss ich tun um, wie bei der Registrierung, auf andere Seiten weiterleiten zu können ?
Oder anders --- was mache ich falsch........................ ?

danke

Klaus-Peter
Mit Zitat antworten
  #2 (permalink)  
Alt 16-02-2015, 20:52
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist gerade online
Registriert seit: Mar 2008
Beiträge: 3.816
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Du hältst das EVA-Prinzip nicht ein. Vor dem Aufruf von header() darf keinerlei Ausgabe erfolgen.

Davon abgesehen solltest du Ausgaben innerhalb von HTML-Code immer mit htmlspecialchars() maskieren. Das hat allerdings nichts mit dem Problem zu tun, sondern ist nur Wurzel vieler anderer möglicher Probleme und außerdem ein Sicherheitsrisiko.
Mit Zitat antworten
  #3 (permalink)  
Alt 16-02-2015, 21:00
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von kpc Beitrag anzeigen
Oder anders --- was mache ich falsch........................ ?
Du hast offenbar
- weder vernünftig gesucht (diese Fehlermeldung ist schon zigfach diskutiert worden, hier und im restlichen WWW),
- noch die Hinweise zur Funktion im Handbuch gelesen (das auch explizit darauf hinweist, dass vor dieser Funktion noch keine Ausgabe erfolgt sein darf),
- noch den extra in diesem Forum oben angepinnten und als wichtig markierten Beitrag Warning: Cannot modify header information zur Kenntnis genommen
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #4 (permalink)  
Alt 16-02-2015, 21:09
kpc
 Registrierter Benutzer
Links : Onlinestatus : kpc ist offline
Registriert seit: Feb 2015
Beiträge: 3
kpc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von h3ll Beitrag anzeigen
Du hältst das EVA-Prinzip nicht ein. Vor dem Aufruf von header() darf keinerlei Ausgabe erfolgen.
Das verstehe ich, ich habe ja selbst die echo-Anweisungen als Ursache erkannt,
aber --- was soll ich tun --- vor der Prüfung und Weiterleitung muss ja nun mal die Formulareingabe erfolgen.
Eine Datennachbearbeitung im Formular mit Defaultwerten ist doch nichts besonderes, wie wird in einem solchen Fall denn
üblicherweise die Weiterleitung realisieren ? Ist der Ansatz falsch oder die Struktur oder ---- ich weiß es nicht......

Klaus-Peter
Mit Zitat antworten
  #5 (permalink)  
Alt 16-02-2015, 21:14
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Wurde schon drauf hingewiesen: EVA-Prinzip – Wikipedia

Zitat:
aber --- was soll ich tun --- vor der Prüfung und Weiterleitung muss ja nun mal die Formulareingabe erfolgen.
Das Formular – der HTML-Code, der ausgegeben wird, um das Formular im Browsern anzuzeigen – muss sich nicht vor dem PHP-Code befinden, der eine potentielle Eingabe überprüft, und ggf. weiterleitet.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #6 (permalink)  
Alt 16-02-2015, 21:44
kpc
 Registrierter Benutzer
Links : Onlinestatus : kpc ist offline
Registriert seit: Feb 2015
Beiträge: 3
kpc befindet sich auf einem aufstrebenden Ast
Standard

@wahsaga
Zitat:
Das Formular – der HTML-Code, der ausgegeben wird, um das Formular im Browsern anzuzeigen – muss sich nicht vor dem PHP-Code befinden, der eine potentielle Eingabe überprüft, und ggf. weiterleitet.
Das war es Zwei Zeilen getauscht und alles ist gut
Ich habe übrigens zwei Tage gelesen ( ganz viel EVA ) und blanks gesucht.
Falls mal wieder jemand blöd fragt, etwas freundlicher wäre nett, vielleicht hat er sich ja doch schon bemüht.

trotzdem noch einmal, vieeeelen Dank

Klaus-Peter
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
über ein formular daten aus einer tabelle lesen und an header übergeben bigbossmen Archiv / Trash 1 25-10-2014 17:35
Formular & header() TiCar PHP Developer Forum 7 30-10-2006 18:52
Header Problem... Cyborg-X1 PHP Developer Forum 1 26-09-2005 01:35
Header Problem DeMarcus PHP Developer Forum 11 09-10-2003 13:54
header Problem Thomas PHP Developer Forum 2 11-02-2002 18:03

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

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

Kundengewinnung und Kundenbindung
Kundengewinnung und KundenbindungVertrieb läuft doch immer persönlich. Das funktioniert nicht mit dem Internet! Wirklich?

24.09.2021 | Berni


 

Aktuelle PHP Scripte

Simple CMS PHP ansehen Simple CMS PHP

Simple CMS PHP is a very simple content management system. You just create a page content into the admin area and then copy the code for this content and paste it into the page of your website, where you want the content to appear. You do not need of any

01.10.2021 nevenov | Kategorie: PHP/ CMS
Funeral Script PHP ansehen Funeral Script PHP

Funeral Script PHP is the easiest way to place obituaries on your funeral home website. The script is designed to be included into your webpage and fit your website layout. Visitors to your website will be able read the obituaries and post/read comments o

01.10.2021 nevenov | Kategorie: PHP/ News
FAQ Script PHP ansehen FAQ Script PHP

FAQ Script PHP is a simple knowledgebase script and you could use it as a Frequently Asked Question section on your website. It is written in PHP and MySQL.

29.09.2021 nevenov | Kategorie: PHP/ FAQ
 Alle PHP Scripte anzeigen

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