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-11-2007, 21:53
spam2008
 Newbie
Links : Onlinestatus : spam2008 ist offline
Registriert seit: Mar 2006
Beiträge: 127
spam2008 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Wieso bekomme ich einen fehler bei cookie anlegen?

Hallo .. ich habe folgenden Fehler:

Warning: Cannot modify header information - headers already sent by (output started at ...............php:1) in ....................php on line 780



lein 780 ist diese hier


PHP-Code:


        $cookiename 
"25548OLD"
        
$value "$aktVerzNr";
        
$time time()+30;  

               
setcookie($cookiename$value$time);  // line 780 
bevor ich den code in die datei geschrieben habe, die sich selbst aufrufft hat es funktioniert.. jetzt nicht mehr.. woran liegt das???
Mit Zitat antworten
  #2 (permalink)  
Alt 30-11-2007, 22:12
frankburian
 Guest
frankburian
Beiträge: n/a
Standard

also, irgendwas gibst du vorher aus, was du nicht darfst!

und lass den quatsch $value = "$aktVerzNr"; , schreib $value = $aktVerzNr;
Mit Zitat antworten
  #3 (permalink)  
Alt 01-12-2007, 00:01
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Lesen: Warning: Cannot modify header information
Mit Zitat antworten
  #4 (permalink)  
Alt 01-12-2007, 19:18
spam2008
 Newbie
Links : Onlinestatus : spam2008 ist offline
Registriert seit: Mar 2006
Beiträge: 127
spam2008 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das hat eigentlich nichts mit der header() funktion zu tuhen!

hier ist der code ..

ich verstehe nicht wieso das anlegen des cookies verhindert wird .. bitte helft mir das problem zu lösen, den das ist das letzte problem das das laufen des programms verhindert..
vielleicht könntet ihr den code ja kurz umschreiben, wenn es nicht zz kange dauert, da ich nicht weis wie ich an das problem ran gehen soll..

der fehler ist: alles ok
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\formular.php:5) in C:\xampp\htdocs\formular.php on line 64

ich vermute das es daran liegt: if($_SERVER["REQUEST_METHOD"]=="GET" || count($error)>0)

und

if($_SERVER["REQUEST_METHOD"]=="POST")

PHP-Code:

<html>
<body>


<?php
$error
=array();
//Teil 1: Eingabeüberprüfungen, falls nicht erster Aufruf des Formulars
if($_SERVER["REQUEST_METHOD"]=="POST")  //erster Aufruf:  ==GET
{
    
    
//nr prüfen
    
if(!preg_match('/^[0-9]+$/',$_POST["nr"]))
        
$error["nr"]="Falsches Nummer-Format";
    
//name prüfen
    
if(!preg_match('/^[a-zA-ZäöüÄÖÜß -]+$/',$_POST["name"]))
        
$error["name"]="Falsches Namenformat";
    if(
$_POST["name"]=="")
        
$error["name"]="Name fehlt";
    
//gebdat prüfen:
     
if(!preg_match('/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/',$_POST["gebdat"]))
        
$error["gebdat"]="Falsches Datumsformat";
    
//Mit checkdate() prüfen, ob auch gültiges Datum vorliegt.
}
?>
<?php
//Teil 2: Formular ausgeben beim ersten Aufruf oder fehlerhafte Eingaben:
if($_SERVER["REQUEST_METHOD"]=="GET" || count($error)>0)
{
?>
    <form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">
    <table>
    <tr><td>Nummer:</td>
    <td><input type ="text" name="nr" value="<?php if (isset($_POST["nr"])) echo $_POST["nr"];?>"></td>
    <td><?php
        
if(isset($error["nr"])) echo $error["nr"];
    
?>
       </td>
    <tr> <td>Name: </td>
    <td><input type ="text" name="name" value="<?php if (isset($_POST["name"])) echo $_POST["name"];?>"></td>
    <td><?php
        
if(isset($error["name"])) echo $error["name"];
    
?>
       </td>
    <tr><td>Geburtsdatum: </td>
    <td><input type ="text" name="gebdat" value="<?php if (isset($_POST["gebdat"])) echo $_POST["gebdat"];?>"></td>
    <td><?php
        
if(isset($error["gebdat"])) echo $error["gebdat"];
    
?></td>
    </table>
    <br />

    <input type ="submit" value="Und ab..">

    </form>
<?php
}
else
{
    echo 
"alles ok"
    
        
$cookiename "25548NEW"
        
$value "123";
        
$time time()+30;  //30 tage = time()+60*60*24*30
        
setcookie($cookiename$value$time); //line 64

}
?>


</body>
</html>

Geändert von spam2008 (01-12-2007 um 19:21 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 01-12-2007, 19:40
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von spam2008
das hat eigentlich nichts mit der header() funktion zu tuhen!
Nicht mit der Funktion selbst, aber dennoch werden HTTP-Header abgesetzt. Informiere dich darüber, wie Cookie abgewickelt wird. Deswegen gilt mein Hinweis immer noch.
Mit Zitat antworten
  #6 (permalink)  
Alt 01-12-2007, 20:25
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
das hat eigentlich nichts mit der header() funktion zu tuhen!
doch.
Mit Zitat antworten
  #7 (permalink)  
Alt 01-12-2007, 20:52
spam2008
 Newbie
Links : Onlinestatus : spam2008 ist offline
Registriert seit: Mar 2006
Beiträge: 127
spam2008 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich bekomme es einfach nicht hin diesse scheiss cookies an zu legen .. ich habe im meinem code keine ausgabe vor dem set cookie ... ich weis wirklich nicht wie ich hier vorgehen soll .. auch wenn ich diese erklerungen von header() und so lese hab ich immer noch kein plan ..

wie mache ich das den jetzt, dass mein formular geprüft wird und wenn alles in ordnung ist, das alle prozesse verarbeitet werden und ganz wichtig: das der COOKIE angelegt wird!!!!!!!

bitte gibt mir konkrete hilfe!!
Mit Zitat antworten
  #8 (permalink)  
Alt 01-12-2007, 20:55
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Code:
<html>
<body>


alles ok
wird alles for dem setcookie() ausgegeben. Wieso behauptest du, da wäre keine Ausgabe?
Mit Zitat antworten
  #9 (permalink)  
Alt 01-12-2007, 20:56
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
bitte gibt mir konkrete hilfe!!
Kein Problem!!
In der Fehlermeldung steht, was falsch läuft. Lesen und beheben! Ich sitze leider nicht an deiner Tastatur, sonst würde ich es dir eben machen.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #10 (permalink)  
Alt 01-12-2007, 21:27
spam2008
 Newbie
Links : Onlinestatus : spam2008 ist offline
Registriert seit: Mar 2006
Beiträge: 127
spam2008 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich meinte nicht den code ganz oben... habe schon den veränderten gemeint ..

hier ist er .. und jetzt erklär mir mal einer bitte wieso das mit den cookies nicht geht .. alles andere funktioniert ...

PHP-Code:

 <?php  
 
     error_reporting
(E_ALL);  
  
 
//////Sprache feststellen                                
    
$spracheDateiPfad "./language.txt";
           
$fhandle fopen($spracheDateiPfad"r"); 
               
$sprache fgets($fhandle);
           
fclose($fhandle);  




///////Verzeichnis nummer lesen
        
    
$verzeichnisNrPfad "../verzeichnis.txt";
    
$fhandle fopen($verzeichnisNrPfad"r");
        
$verzeichnisNr fgets($fhandle);
    
fclose($fhandle);        
    
    
    
    
$error=array();
    
//Teil 1: Eingabeüberprüfungen, falls nicht erster Aufruf des Formulars
if($_SERVER["REQUEST_METHOD"]=="POST")  //erster Aufruf:  ==GET
{
    
    
//email 1 pruefen
    
if(!preg_match("/[a-z0-9_-]+(\.[a-z0-9_-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4}|museum)/i",$_POST["NeuerEmailEintrag"]))
     {  
        
$error["NeuerEmailEintrag"]="Falsches E-Mail Format";
    
    }
        
    
//email 2 pruefen    
    
if(!preg_match("/[a-z0-9_-]+(\.[a-z0-9_-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4}|museum)/i",$_POST["NeuerEmailEintrag2"]))
    {    
        
$error["NeuerEmailEintrag2"]="Falsches E-Mail Format";

    }
    
    if(
$_POST["NeuerEmailEintrag"]!=$_POST["NeuerEmailEintrag2"])
      {
          
$error["NeuerEmailEintrag2"]="Die PE-Mails sind nicht identisch";  
     
      } 
    
     
//passwort &uumlpruefen
    
if(empty($_POST["passwort1"]))
    {
        
$error["passwort1"]="Kein Passwort eingegeben"
   
    }
        
     
//passwort &uumlpruefen
      
if(empty($_POST["passwort2"]))
        {
            
$error["passwort2"]="Kein Passwort eingegeben"
          
         }     
        
      if(
$_POST["passwort1"]!=$_POST["passwort2"])
      {
          
$error["passwort2"]="Die Passw&ouml;rter sind nicht identisch";  
    
      } 


function 
eintragen()
{  
  

              
            
//cookie fuer erhaltenen link setzen damit die email nihch nocheinmal eingetragen werden kann.
        
$cookiename "25548OLD"
        
$value "abc";
        
$time time()+30;        
                                
setcookie($cookiename$value$time);

        
        
        
//cookie fuer neues verzeichnis setzen damit die email nicht eingetragen werden kann.
        
        
$cookiename "25548NEW"
        
$value "123";
        
$time time()+30
        
setcookie($cookiename$value$time);

        
    
    
}
//funktion eintragen() 

}//if

 
    
?>

<html>
<head>
 <title>Unbenannt</title> 
 
 
 </head>


<body>

<?php
  
 
/////////
////////wenn cookie nicht existiert, kann der benutzer seine email eingeben.  
if(!isset($_COOKIE["25548OLD"])&&!isset($_COOKIE["25548NEW"]))
{

//Teil 2: Formular ausgeben beim ersten Aufruf oder fehlerhafte Eingaben:
if($_SERVER["REQUEST_METHOD"]=="GET" || count($error)>0)
{





?>     

<form name="verzeichnis" method="POST" action="<?php echo $_SERVER["PHP_SELF"];?>">
<table>

 <tr>
  <td>Email 1</td>
  <td><input type ="text" name="NeuerEmailEintrag" value="<?php if (isset($_POST["NeuerEmailEintrag"])) echo $_POST["NeuerEmailEintrag"];?>"></td>
  <td><?php
        
if(isset($error["NeuerEmailEintrag"])) echo $error["NeuerEmailEintrag"];
    
?></td>
 </tr>
 <tr>
  <td>Email nochmal</td>
  <td><input type ="text" name="NeuerEmailEintrag2" value="<?php if (isset($_POST["NeuerEmailEintrag2"])) echo $_POST["NeuerEmailEintrag2"];?>"></td>
  <td><?php
        
if(isset($error["NeuerEmailEintrag2"])) echo $error["NeuerEmailEintrag2"];
    
?></td>
 </tr>
 <tr>
  <td>passwort1 </td>
  <td><input type ="password" name="passwort1" value="<?php if (isset($_POST["passwort1"])) echo $_POST["passwort1"];?>"></td>
  <td><?php
        
if(isset($error["passwort1"])) echo $error["passwort1"];
    
?></td>
 </tr>
 <tr>
  <td>passwort nochmal </td>
  <td><input type ="password" name="passwort2" value="<?php if (isset($_POST["passwort2"])) echo $_POST["passwort2"];?>"></td>
  <td><?php
        
if(isset($error["passwort2"])) echo $error["passwort2"];
    
?></td>
 </tr>
 <tr>
  <td><input type="submit" name="EmailsEintragen"/></td>
  <td><input type="reset" /></td>
  <td>15</td>
 </tr>

</table>

</form>    

<?php


 
}//if($_SERVER["REQUEST_METHOD"]=="GET" || count($error)>0)
        
else{ 
                  
eintragen();
        }

}
//if(!isset($_COOKIE["25548OLD"])&&!isset($_COOKIE["25548NEW"])
else{
 
    echo 
"cookies wurden schon einmal angelegt";

}
//else cookie gesetzt



?>
  


</body>
</html>
Mit Zitat antworten
  #11 (permalink)  
Alt 01-12-2007, 21:42
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Und, du bist dir sicher, dass 30 Sekunden reichen?
__________________
Wir werden alle sterben
Mit Zitat antworten
  #12 (permalink)  
Alt 01-12-2007, 21:50
spam2008
 Newbie
Links : Onlinestatus : spam2008 ist offline
Registriert seit: Mar 2006
Beiträge: 127
spam2008 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Und, du bist dir sicher, dass 30 Sekunden reichen?
das hat doch jetzt garnichts mit dem problem zu tuhen .. ich will endlich wissen was ich falsch mache und wie ich das programm endlich zum laufen bekomme!!!
Mit Zitat antworten
  #13 (permalink)  
Alt 01-12-2007, 21:59
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Was ist denn dein Problem?
Fehlermeldung?
Cookies im Browser eingeschaltet?
__________________
Wir werden alle sterben
Mit Zitat antworten
  #14 (permalink)  
Alt 01-12-2007, 22:09
spam2008
 Newbie
Links : Onlinestatus : spam2008 ist offline
Registriert seit: Mar 2006
Beiträge: 127
spam2008 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

die cookies sind eingeschaltet.
ich bekomme diese fehlermeldung:

Warning: Cannot modify header information - headers already sent by (output started at /home/.......................emailenter.php:1) in /home/................../emailenter.php on line 764

Warning: Cannot modify header information - headers already sent by (output started at /home/.................../emailenter.php:1) in /home/........................./emailenter.php on line 773


das sind jeweils die zeilen mit den setcookie.

vorher habe ich die daten an eine andere dateu gesendet und dort das auch mit dem cookie gemacht .. aber dadurch ging die abfrage nicht, so dass ich alles in einer datei erledigen muss .. es funktioniert alles so wie es soll, nur das er diese verdamten cookies nicht anlegt ....
Mit Zitat antworten
  #15 (permalink)  
Alt 01-12-2007, 22:11
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von spam2008
das hat doch jetzt garnichts mit dem problem zu tuhen .. ich will endlich wissen was ich falsch mache und wie ich das programm endlich zum laufen bekomme!!!
Das Problem wurde dir wiederholt beschrieben, und ist immer noch das gleiche. Du rufst die Cookie-setzende Funktion nach dem ersten Output auf, und das geht eben nicht. An welcher Stelle Du die Funktion definierst, spielt keine Rolle, sondern nur wo du sie aufrufst.
Mit Zitat antworten
Antwort

Lesezeichen


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

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

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

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:22 Uhr.