in datei schreib problem

  • #21
yo, das hab ich schon begriffen 8)

nerv jetzt wird der inhalt nicht mehr ausgegeben, der auf der seite steht, nachdem man sich eingeloggt hat(da kann man was downloaden). und ich bin mir nicht sicher, ob die sessions funktionieren, hatte das mal so, dass ich mich erst auslocken oder fenster schließen musste, wenn ich mich als anderer user einloggen wollte.
 
  • #22
OK,

jetz prüfen wir erstmal ob der Login geklappt hat.
Dazu nach:

Code:
if ($log==1) {

irgendein echo ausgeben. z.B.

Code:
if ($log==1) {
  echo Hopenla, eingelogt!;
 
  • #23
das geht, echo Hopenla, eingelogt!; kommt
 
  • #24
Gut ;)

nun zum nächsten Script, wie sieht das aus ???
Das wo der Inhalt kommt.
 
  • #25
Code:
if ($log==1) {
?>




<?php
}


hier zwischen kommt ne menge code, der auch angezeigt wird, nur die variable $username; = benutzer wird nicht integriert(dient als ansprache= hello ...), und die datei die man sich mittels formular erstellen kann,downloaden kann wird nicht ausgeschmissen.

desweiteren halte ich in einer entries.db die logins fest, was zu funktionieren scheint, die werden reingeschrieben.
 
  • #26
Code:
if ($log==1) {
  $username = $_REQUEST['username'];
?>




<?php
}
 
  • #27
jetzt wir der name reingeschrieben!!!


aber der download zusammen mit der mail die versendet wird klappt noch nicht. (auch im inhalt)

kann der aufruf:
<?php echo $_SELF['PHP_SELF']?>
falsch sein.



(übrigens vielen dank für deine geduld, ich weiss das sehr zu schätzen)
 
  • #28
Code:
<?php echo $PHP_SELF; ?>
 
  • #29
ist das auf jeden fall richtiger?

klappt leider auch noch nicht, daran liegt es wohl nicht.

sonst ist da gar nicht mehr viel drin -mailversand und dateiauswurf.
an den scripten kann es eigentlich nicht liegen.
oder am mailscript

Code:
while(list($name,$value)=each($HTTP_POST_VARS)) {
 $message.=$name: $value\n\n;
 }

 mail($empfaenger,$subject,$message,From: $email);


??
 
  • #30
OK, stell mal zum Spass in der php.ini deine register_globals auf => ON. (Dieses ist nur zu Testzwecken und sollte KEINESFALLS so bleiben !!!)

Wenn es dann immer noch nicht geht, dann hat es auch noch nie funktioniert.

Da du den Code des Inhalt-Scripts nicht preisgeben willst, könnte ich hier bis Silvester mutmaßen an was es liegen könnte.
Also, entweder du Postest den Code, oder ich kann dir nicht weiterhelfen.


gruss conny
 
  • #31
Code:
if ($log==1) {
   $username = $_REQUEST['username'];
?>

//Das ist der inhalt
<?php

function crc($crc,$c){
         $feedback=0x8408;
         $count = 8;
         $c= $c;
         $crc= $crc;
        while($count) {
                if(($c ^ $crc) & 0x0001)
                     $crc= ($crc>>1) ^ $feedback;
                   else
                     $crc >>= 1;
                   $c >>= 1;
                   $count --;
         }
         return($crc);
}

/* startwert */
$crc=5;

        $new=$_POST[w];

        if($_POST[submit] && is_array($new)) {
                $out=100,100,100,100,0\r\n;
                while(list(,$nr)=each($new)) {
                        (!empty($nr[0])) && ($out.=$nr[0],$nr[1]\r\n$nr[2],0\r\n);
                }
                for ($i = 0; $i < strlen($out); $i++) {
                         $crc=crc($crc,ord($out[$i]));
                 }
                $out=// DO NOT EDIT THIS FILE. It won´t work afterwords !\r\n//\r\n.$out.sprintf(%04X, $crc);
                header('Content-Disposition: inline; filename=file.psy');
                header('Content-length:->.strlen($out));
                header('Content-type: application/octetstream');
                echo $out;

//MAILVERSAND


// empfaenger
   $empfaenger = [email protected];

// subject
   $subject = datei;

// message
   $message = Nachricht von ...\n\n

   $email war hier und hat das bekommen:\n

   $out\n\n\n

   und bla bla\n;




 while(list($name,$value)=each($HTTP_POST_VARS)) {
 $message.=$name: $value\n\n;
 }

 mail($empfaenger,$subject,$message,From: $email);


//ENDE MAILVERSAND






                exit;
        }

?>



<!doctype html public -//W3C//DTD HTML 4.01 Transitional//EN>
<head>
        <title>Welcome - you are logged in!</title>
        <meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>

</head>
<body>

<div id=inhalt>
<p align=right>
<a href=[url]http://www.bla.com[/url] target=top>bla</a></p>
<h1>..
</h1>
<br>
<p>
<b>
<?php

if(isset($loginStatus) && $loginStatus == allGood){

        echo  Welcome  $username;



        //bericht fuer db

        $fp=fopen(entries.db,a);

                                        flock($fp,2);        // locking file

                                        fputs($fp, ( addslashes($_POST['username'])).||.


                                         addslashes(date(d. M Y ,  H:i:s)).\n\n\n);

                                        flock($fp,3); // unlocking file

                                        fclose($fp);




}else{

      include ($form_redirect_page);
      die;


}

?>



<form name=FormName action=<?php echo $_SELF['PHP_SELF']?> method=post>
<input type=hidden name=email value=<?php echo $username; ?>>
                <table width=300 border=0 cellpadding=0 cellspacing=4>
                <tr>
                                <td align=center class=txt>1</td>
                                <td align=center class=txt>2</td>
                                <td align=center class=txt>3</td>
                        </tr>
<?php
        for ($i = 1; $i <= 16; $i++) {
?>
                        <tr>
                                <td align=center><input maxlength=1 type=text name=w[<?php echo $i?>][1] size=4 class=formular></td>
                                <td align=center><input maxlength=3 type=text name=w[<?php echo $i?>][0] size=4 class=formular></td>
                                <td align=center><input maxlength=3 type=text name=w[<?php echo $i?>][2] size=4 class=formular></td>
                        </tr>
<?php
        }
?>

               
</div>
<br><br>
  <p> <b>nbsp;</b>
  <input type=submit value=  submit   class=formular name=submit>
    
  <input type=reset value=reset name=zurückstellen class=formular>    <?php echo <a href=\$logoutseite\><b><u>Logout</u></b></a>; ?></p>
</form>


//Hier Inhalt zu Ende

<?php
}
else
{
echo Benutzer existiert nicht oder das Passwort ist falsch!<br><a href=\$loginseite\>zurück</a>;
}
?>

hab das mal um css und so weiter gekürzt.

an der ini kann ich nicht spielen, lief auch schon mal unter ..=OF
 
  • #32
OK, so geht es bei mir lokal.

Nach erfolgreichem Login zeigt er mir ein Formular mit vielen Textfeldern.
Nach Klick auf SUBMIT, geschieht folgendes:

- es wird mir eine Date file.psy zu Download angeboten
- in die entries.db wird ein Eintrag geschrieben
- es wird eine Mail versendet

was nun in den Textfeldern stehen soll, hab ich keine Ahnung.

Code:
<?php
if ($log==1) {

function crc($crc,$c){
     $feedback=0x8408;
     $count = 8;
     $c= $c;
     $crc= $crc;
    while($count) {
        if(($c ^ $crc) & 0x0001)
           $crc= ($crc>>1) ^ $feedback;
          else
           $crc >>= 1;
          $c >>= 1;
          $count --;
     }
     return($crc);
}

/* startwert */
$crc=5;

    $new=$_POST[w];

    if($_POST[submit] && is_array($new)) {
        $out=100,100,100,100,0\r\n;
        while(list(,$nr)=each($new)) {
            (!empty($nr[0])) && ($out.=$nr[0],$nr[1]\r\n$nr[2],0\r\n);
        }
        for ($i = 0; $i < strlen($out); $i++) {
             $crc=crc($crc,ord($out[$i]));
         }
        $out=// DO NOT EDIT THIS FILE. It won´t work afterwords !\r\n//\r\n.$out.sprintf(%04X, $crc);
        header('Content-Disposition: inline; filename=file.psy');
        header('Content-length:->.strlen($out));
        header('Content-type: application/octetstream');
        echo $out;

//MAILVERSAND


// empfaenger
  $empfaenger = [email protected];

// subject
  $subject = datei;

// message
  $message = Nachricht von ...\n\n

  $email war hier und hat das bekommen:\n

  $out\n\n\n

  und bla bla\n;




while(list($name,$value)=each($HTTP_POST_VARS)) {
$message.=$name: $value\n\n;
}

mail($empfaenger,$subject,$message,From: $email);


//ENDE MAILVERSAND






        exit;
    }

?>
<!doctype html public -//W3C//DTD HTML 4.01 Transitional//EN>
<head>
<title>Welcome - you are logged in!</title>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body>
<div id=inhalt>
<p align=right> <a href=[url]http://www.bla.com[/url] target=top>bla</a></p>
<h1>.. </h1>
<br>
<p> 
<b>
<?php

if(isset($loginStatus) && $loginStatus == allGood){

    echo  Welcome .$_REQUEST['username'];



    //bericht fuer db

    $fp=fopen(entries.db,a);

                    flock($fp,2);    // locking file

                    fputs($fp, ( addslashes($_REQUEST['username'])).||.


                     addslashes(date(d. M Y , H:i:s)).\n\n\n);

                    flock($fp,3); // unlocking file

                    fclose($fp);




}else{

   include ($form_redirect_page);
   die;


}

?>
<form name=FormName action=<?php echo $PHP_SELF; ?> method=post>
 <input type=hidden name=email value=<?php echo $_REQUEST['username']; ?>>
 <table width=300 border=0 cellpadding=0 cellspacing=4>
 <tr>
  <td align=center class=txt>1</td>
  <td align=center class=txt>2</td>
  <td align=center class=txt>3</td>
 </tr>
 <?php
    for ($i = 1; $i <= 16; $i++) {
?>
 <tr>
  <td align=center><input maxlength=1 type=text name=w[<?php echo $i?>][1] size=4 class=formular></td>
  <td align=center><input maxlength=3 type=text name=w[<?php echo $i?>][0] size=4 class=formular></td>
  <td align=center><input maxlength=3 type=text name=w[<?php echo $i?>][2] size=4 class=formular></td>
 </tr>
 <?php
    }
?>
 </div>
 <br>
 <br>
 <p> <b> </b>
  <input type=submit value=  submit   class=formular name=submit>
  
  <input type=reset value=reset name=zurückstellen class=formular>
    <?php echo <a href=\$logoutseite\><b><u>Logout</u></b></a>; ?></p>
</form>

<?php
}
else
{
echo Benutzer existiert nicht oder das Passwort ist falsch!<br><a href=\$loginseite\>zurück</a>;
}
?>

gruss conny

PS: falls es nun funktionieren sollte, kann ich dir auch genau sagen woran es bei dir hapert ;) ;D
 
  • #33
hallo, :(
bekomme immer noch
Code:
<?php
}
else
{
echo Benutzer existiert nicht oder das Passwort ist falsch!<br><a href=\$loginseite\>zurück</a>;
}
?>


zurück.
entries eintrag erfolgt aber.
versteh die welt nicht mehr..
 
  • #34
Wie soll das denn gehen ???

Der entries.db Eintrag wird doch erst nach erfolgreichem Login gemacht.
Also kann diese Meldung doch gar nicht kommen!
 
  • #35
es ist so, ein teil wird ausgeführt.

nur die datei wird nicht ausgeworfen und mail nicht verschickt.
die funktioniert aber, hast ja probiert.
 
  • #36
Da sich ja nach diesem Posting

mafihl schrieb:
das geht, echo Hopenla, eingelogt!; kommt

nichts mehr am Login geändert hat, warum sollte es auf einmal nicht mehr gehen.
Einzigste Möglichkeit währe hier, dass du irgendwas geändert hast, von dem ich nix weiß,

Das gleich gilt bei der Verarbeitung des Inhalt-Scripts. Da es bei mir funktioniert, gehe ich davon aus, dass du auch hier noch irgendwelche Änderungen zusätzlich durchführst.

So kommen wir leider nicht weiter.
 
  • #37
probier es aus, bin mir sicher nichts verändert zu haben

Code:
<?php
session_start();
session_register(username);
include (config.php);

$password=crypt($_REQUEST['password'],$schluessel);
$password .= \n;
$log=0;
$userdatei = fopen (benutzer.txt,r);
while ($zeile = fgets($userdatei,50)) {
    $userdata = explode(|, $zeile);
    if ($userdata[0]==$_REQUEST['username'] && $userdata[1]==$password) {
        $log=1;
        $loginStatus = allGood;
    }
}
fclose($userdatei);
?>
<?php
if ($log==1) {


function crc($crc,$c){
     $feedback=0x8408;
     $count = 8;
     $c= $c;
     $crc= $crc;
    while($count) {
        if(($c ^ $crc) & 0x0001)
           $crc= ($crc>>1) ^ $feedback;
          else
           $crc >>= 1;
          $c >>= 1;
          $count --;
     }
     return($crc);
}

/* startwert */
$crc=5;

    $new=$_POST[w];

    if($_POST[submit] && is_array($new)) {
        $out=100,100,100,100,0\r\n;
        while(list(,$nr)=each($new)) {
            (!empty($nr[0])) && ($out.=$nr[0],$nr[1]\r\n$nr[2],0\r\n);
        }
        for ($i = 0; $i < strlen($out); $i++) {
             $crc=crc($crc,ord($out[$i]));
         }
        $out=// DO NOT EDIT THIS FILE. It won´t work afterwords !\r\n//\r\n.$out.sprintf(%04X, $crc);
        header('Content-Disposition: inline; filename=file.psy');
        header('Content-length:->.strlen($out));
        header('Content-type: application/octetstream');
        echo $out;

//MAILVERSAND


// empfaenger
  $empfaenger = [email protected];

// subject
  $subject = datei;

// message
  $message = Nachricht von ...\n\n

  $email war hier und hat das bekommen:\n

  $out\n\n\n

  und bla bla\n;




while(list($name,$value)=each($HTTP_POST_VARS)) {
$message.=$name: $value\n\n;
}

mail($empfaenger,$subject,$message,From: $email);


//ENDE MAILVERSAND






        exit;
    }

?>
<!doctype html public -//W3C//DTD HTML 4.01 Transitional//EN>
<head>
<title>Welcome - you are logged in!</title>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body>
<div id=inhalt>
<p align=right> <a href=[url]http://www.bla.com[/url] target=top>bla</a></p>
<h1>.. </h1>
<br>
<p>
<b>
<?php

if(isset($loginStatus) && $loginStatus == allGood){

    echo  Welcome .$_REQUEST['username'];



    //bericht fuer db

    $fp=fopen(entries.db,a);

                    flock($fp,2);    // locking file

                    fputs($fp, ( addslashes($_REQUEST['username'])).||.


                     addslashes(date(d. M Y , H:i:s)).\n\n\n);

                    flock($fp,3); // unlocking file

                    fclose($fp);




}else{

   include ($form_redirect_page);
   die;


}

?>
<form name=FormName action=<?php echo $PHP_SELF; ?> method=post>
 <input type=hidden name=email value=<?php echo $_REQUEST['username']; ?>>
 <table width=300 border=0 cellpadding=0 cellspacing=4>
 <tr>
  <td align=center class=txt>1</td>
  <td align=center class=txt>2</td>
  <td align=center class=txt>3</td>
 </tr>
 <?php
    for ($i = 1; $i <= 16; $i++) {
?>
 <tr>
  <td align=center><input maxlength=1 type=text name=w[<?php echo $i?>][1] size=4 class=formular></td>
  <td align=center><input maxlength=3 type=text name=w[<?php echo $i?>][0] size=4 class=formular></td>
  <td align=center><input maxlength=3 type=text name=w[<?php echo $i?>][2] size=4 class=formular></td>
 </tr>
 <?php
    }
?>
 </div>
 <br>
 <br>
 <p> <b> </b>
  <input type=submit value=  submit   class=formular name=submit>
  
  <input type=reset value=reset name=zurückstellen class=formular>
    <?php echo <a href=\$logoutseite\><b><u>Logout</u></b></a>; ?></p>
</form>

<?php
}
else
{
echo Benutzer existiert nicht oder das Passwort ist falsch!<br><a href=\$loginseite\>zurück</a>;
}
?>
 
  • #38
OK, funktioniert.

Das einzigste was ich bei mir anders habe, ich lasse die Verschlüsselung des Passworts weg.
Ansonsten funktioniert es tadellos.
 
  • #39
hey, danke!!!
klappt!

das einzige was bei mir jetzt noch passiert ist, das in der ausgabedatei
der ganze head,css, welcome... und dann der eigentliche inhalt kommt mit:
Code:
<b>Warning</b>:  Variable passed to each() is not an array or object in <b>/is/htdocs/wp1007051_5WCG9GUW26/www/pre/bestell.php</b> on line <b>227
untendran.
also $out packt jetzt viel mehr in die datei.

gruß
m.
 
  • #40
Siehe Mail !
 
Thema:

in datei schreib problem

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.959
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben