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 25-07-2002, 10:15
rayden5_
 Newbie
Links : Onlinestatus : rayden5_ ist offline
Registriert seit: Feb 2002
Beiträge: 35
rayden5_ ist zur Zeit noch ein unbeschriebenes Blatt
rayden5_ eine Nachricht über ICQ schicken
Standard session_start() stört das laden eines JPGs/senden eines Headers

Hallo,

ich bins nochmal, ich habe hier schon mein Problem gepostet: Siehe hier. Es geht darum daß beim "Bild speichern unter" Dialog nur noch BMP statt JPG steht und im Eigenschaften Dialog die Bildgröße als -1 Byte und der Typ als "Unbekannt".

So, mittlerweile weiß ich daß die Zeile session_start() am Anfang des Scriptes welches die Jpgs erzeugt, die Ursache ist, denn wenn ich die weglasse dann geht alles wieder.

Der Hintergrund:

Ich habe ein php, in welchem ich per <img src="blabla.php?bild=120310"> JPgs lade. Das hat immer wunderbar geklappt.
Nun habe ich meine Seite umgestaltet so daß nur angemeldetet USer diese Bilder sehen sollen , das klappt eigentlich auch:

Beim login wird eine Variable $login auf 1 und eine Variable $user_name mit Session_register(...) in der sesion_registriert.
In dem blabla.php frage ich dann einfach ab ob diese beiden Vars bekannt sind, wenn ja zeige das Bild ansonsten zeigt er ein kleines JPG mit dem Hinweis "Erst anmelden".

Das Problem WAR nun, daß mein blabla.script welche in dem <img tag> eingebunden ist, diese beiden Session_variablen wohl nicht kennt, denn es KAM IMMER nur diese kleine JPG mit dem Hinweis.

Dann habe ich hier gelesen, daß man in jedem Script als erste den session_start() mache soll und dadurch die Vars bekannt werden würden..ich weiß zwar nicht warum aber es geht ! Seit dem sessionn_start() kommt das bild wenn man eingeloggt ist, oder das JPG wenn man nicht eingeloggt ist (ich war der Meinung das ALLE php scripte die session_vars kennen, schließlich werdn sie aus dem Hauptscript geöffnet..?!

Nungut, aber seither geht eben das speicehrn unter...nur noch als BMP und in den Eigenschaften steht TYP: unbekannt und als Größe -1 Byte, wenn ich session_start am Beginn des Scriptes wieder rausnimm geht der speichenr unter wieder, aber ichseh imemr nur das logo, hier mal das script:

PHP-Code:
//der session_start() macht mir die Probleme
session_start();
mysql_connect($DBHOST$DBUSER$DBPASS); //Connect to database
mysql_select_db($DATABASE); //Select database

$sqlqs_1="SELECT filename from vcdcoverz_".$TABLE." WHERE id=$COVERID";
$sqlq_1 =    mysql_query($sqlqs_1);
$sqlr_1=    mysql_fetch_row($sqlq_1);
$fn=$sqlr_1[0];


// Hier wird dann eben entschieden welches JPG geladen wird
if (isset($_SESSION["login"]) && isset($_SESSION["user_name"])) {

$image="../vcdcoverz/temp/".$TABLE."/".$fn;

}else{

$image="../vcdcoverz/stolen.jpg";

}

header"Content-type: image/jpeg" );
@
readfile$image); 

..tja meine Frage ist nun, ob es eine andere Möglichkeit auf die Variablken in der Session zuzugrweifen ohne diesen session_start() zu verwenden...ich weiß daß Titus auch mal gepostet hat, man sollte imemr session_start() machen...ich versteh eh nicht was daß mit meinem jpg-header zu tun hat *seufz*..

VBin für jeden Tip dankbar.

Ray
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 25-07-2002, 10:18
MoRtAlAn
 PHP Master
Links : Onlinestatus : MoRtAlAn ist offline
Registriert seit: Jan 2002
Ort: Mühlheim am Main
Beiträge: 5.934
MoRtAlAn ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mit den neuen Superglobals ($_SESSION[bla]) sollte es auch ohne session_start() gehen, allerdings sollte man es nicht machen (wie Titus sagte)!. Dann solltest du allerdings aufpassen, daß du die Session bei jedem link weitergibst!! Eine Garantie, daß es wirklich klappt, kann ich allerdings nicht geben!

gruss
Mit Zitat antworten
  #3 (permalink)  
Alt 25-07-2002, 10:45
rayden5_
 Newbie
Links : Onlinestatus : rayden5_ ist offline
Registriert seit: Feb 2002
Beiträge: 35
rayden5_ ist zur Zeit noch ein unbeschriebenes Blatt
rayden5_ eine Nachricht über ICQ schicken
Standard

Hi MoRtAlan

ths für die Antwort, leider weiß nicht WIE ich die Sesison mitgeben soll ?

..ich kenn session_id() welches mir den die ID ausgibt, aber mit welchem Variablen namen muß ich die anhängen ?

Thx agian

Ray
Mit Zitat antworten
  #4 (permalink)  
Alt 25-07-2002, 10:47
Wotan
 Master
Links : Onlinestatus : Wotan ist offline
Registriert seit: Sep 2001
Ort: Berlin
Beiträge: 5.349
Wotan ist zur Zeit noch ein unbeschriebenes Blatt
Standard

So
Code:
echo"seite.php?".session_name()."=".session_id());
__________________
*winks*
Gilbert
------------------------------------------------
Hilfe für eine Vielzahl von Problemen!!!
http://www.1st-rootserver.de/
Mit Zitat antworten
  #5 (permalink)  
Alt 25-07-2002, 10:50
MoRtAlAn
 PHP Master
Links : Onlinestatus : MoRtAlAn ist offline
Registriert seit: Jan 2002
Ort: Mühlheim am Main
Beiträge: 5.934
MoRtAlAn ist zur Zeit noch ein unbeschriebenes Blatt
Standard

und wenn du schreibfaul bist, so:

PHP-Code:
function linkSession() {
    
$session session_name()."=".session_id();
    return 
$session;
}

echo 
"<a href=\"./test.php".linkSession()."\">hierhin</a>"
gruss
Mit Zitat antworten
  #6 (permalink)  
Alt 25-07-2002, 11:03
Wotan
 Master
Links : Onlinestatus : Wotan ist offline
Registriert seit: Sep 2001
Ort: Berlin
Beiträge: 5.349
Wotan ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@Mort
du musst immer das Letzte Wort haben.
__________________
*winks*
Gilbert
------------------------------------------------
Hilfe für eine Vielzahl von Problemen!!!
http://www.1st-rootserver.de/
Mit Zitat antworten
  #7 (permalink)  
Alt 25-07-2002, 11:05
MoRtAlAn
 PHP Master
Links : Onlinestatus : MoRtAlAn ist offline
Registriert seit: Jan 2002
Ort: Mühlheim am Main
Beiträge: 5.934
MoRtAlAn ist zur Zeit noch ein unbeschriebenes Blatt
Standard

jepp
Mit Zitat antworten
  #8 (permalink)  
Alt 25-07-2002, 11:05
rayden5_
 Newbie
Links : Onlinestatus : rayden5_ ist offline
Registriert seit: Feb 2002
Beiträge: 35
rayden5_ ist zur Zeit noch ein unbeschriebenes Blatt
rayden5_ eine Nachricht über ICQ schicken
Standard

Re

alsooo...das mit der Session-Übergabe klappt jetzt, leider kann ich trotzde nicht auf die Vars in der Session zu greifn oder ich hab einen Denkfehler:

Testscript in der Art:

<?

session_start();
$_SESSION['login'] = 1;

?>

<img src="getcover2.php?DETAIL=<?echo $DETAIL;?>&<? echo session_name()."=".session_id();?>">

....

..der Link der dann im img-tag erzeugt wird sieht so aus (also ich denke mal das ist ok weil dieses Session-Zeux dranhängt:

getcover2.php?DETAIL=dvd&PHPSESSID=635f9c875ad16b36566816f386417d70



..in der getcover2.php sieht es dann so aus:


if ($_SESSION['login']) {

$image="../vcdcoverz/temp/".$TABLE."/".$fn;

}else{

$image="../vcdcoverz/stolen.jpg";

}

header( "Content-type: image/jpeg" );
@readfile( $image);


..leider bekomme ich , obwohl ja jetzt eigentlich login auf 1 sein müßte , immer nur das JPg aus der ELSE Anweisung (stolen.jpg)...
Fehlt bei if ($_SESSION['login']) evtl. noch was damit der session hernimmt die ich ihm übergeben habe ?

Schonmal Danke im voraus

Ray
Mit Zitat antworten
  #9 (permalink)  
Alt 25-07-2002, 11:12
MoRtAlAn
 PHP Master
Links : Onlinestatus : MoRtAlAn ist offline
Registriert seit: Jan 2002
Ort: Mühlheim am Main
Beiträge: 5.934
MoRtAlAn ist zur Zeit noch ein unbeschriebenes Blatt
Standard

verwende mal in der Datei session_readonly() anstatt session_start(). Verwende das aber nur in der Datei, weil du so keine Session Variablen mehr registrieren kannst!!

gruss
Mit Zitat antworten
  #10 (permalink)  
Alt 25-07-2002, 11:50
goth
  Moderator
Links : Onlinestatus : goth ist offline
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.277
goth ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@Morti: Wie kommst Du darauf das man mit Superglobals auf session_start() verzichten kann??

@rayden5_: Ich würde aus header( "Content-type: image/jpeg" );
mal ein header( "Content-Type: image/jpeg" ); damit's HTTP-Konform ist ...
__________________
carpe noctem

Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht!
Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung!
Mit Zitat antworten
  #11 (permalink)  
Alt 25-07-2002, 12:32
Titus
 PHP Master
Links : Onlinestatus : Titus ist offline
Registriert seit: Jan 2001
Ort: im Rodgau
Beiträge: 4.292
Titus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

es geht noch fauler:
PHP-Code:
function linkSession($link)
{
  return (
strstr('?'$link) ? '&':'?')
    . 
session_name()."=".session_id();
}
echo 
'<a href="'linkSession('./test.php')
  , 
'">hierhin</a>'
__________________
mein Sport: mein Frühstück: meine Arbeit:

Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.
Mit Zitat antworten
  #12 (permalink)  
Alt 25-07-2002, 13:33
rayden5_
 Newbie
Links : Onlinestatus : rayden5_ ist offline
Registriert seit: Feb 2002
Beiträge: 35
rayden5_ ist zur Zeit noch ein unbeschriebenes Blatt
rayden5_ eine Nachricht über ICQ schicken
Standard

@all,

also der letzte Versuch mit session_readonly(); hat auch nix gebracht, der kennt das garnicht:

Fatal error: Call to undefined function: session_readonly() in /xxx/getcover2.php on line 3

*hmpf*....das gibts doch nicht, sobald ich session_start() wegllasse klaptp die if Abfrage nichtmehr, mach ichs wieder rein geht die IF-Abfrage wieder, aber die JPgs sind jetzt "unbekannt"..zumal ich den Zusammenhang zwischen dem Header und dieser Session_geschichte nicht verstehe


UPDATE WIEDER WAS NEUES:

wer will kann mal http://www.planet-rayden.com/coverz/...28&DETAIL=back anklicken, dieses Script wird nomrl aincluded und zeigt das Cover an. Habe das jetzt so geändert daß ne session gestartet wird und login auf 1 gesetzt ist, also ihr solltet alle das Cover sehen (Sone CD Hülle Rückseite)

UND JETZT KOMMTS:

..wenn ich auf Speichern unter gehe und das Ding speichere, speichert der mit nicht DIESES Bild sondern mein Logom welches erstens gar nicht angeziegt wird und zweitens eh nicht geladen werden dürfte wei lich login ja auf 1 habe....ich verstehs nicht *heul*...anderersiets ist es unmöglich das angezeigte Bild zu speichenr, wäre der ideale Kopierschutz, oder *g*...unter Eigenschaften erscheint als Dateigröße auch die Größe vom Logo , das Cover wäre ca. 200kb...


..vielleicht noch eine andere Idee ?

Thx
Ray

Geändert von rayden5_ (25-07-2002 um 13:49 Uhr)
Mit Zitat antworten
  #13 (permalink)  
Alt 25-07-2002, 13:48
Titus
 PHP Master
Links : Onlinestatus : Titus ist offline
Registriert seit: Jan 2001
Ort: im Rodgau
Beiträge: 4.292
Titus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

vielleicht das
header ('Content-Type: image/jpeg');
vor
session_start();
setzen ?!
Mit Zitat antworten
  #14 (permalink)  
Alt 25-07-2002, 14:01
rayden5_
 Newbie
Links : Onlinestatus : rayden5_ ist offline
Registriert seit: Feb 2002
Beiträge: 35
rayden5_ ist zur Zeit noch ein unbeschriebenes Blatt
rayden5_ eine Nachricht über ICQ schicken
Standard

@Titus,

nee hat leider auch nix gebracht, auch das 'T' von Content-Type habe ich jetzt groß...was mich noch wahnsinnig macht ist der Effekt den ich beim testen erhalten hab: Wenn man das Bild speichenr will, dann erhält man das Logo obowhl man ja das Cover sieht

...

Ray
Mit Zitat antworten
  #15 (permalink)  
Alt 25-07-2002, 15:10
rayden5_
 Newbie
Links : Onlinestatus : rayden5_ ist offline
Registriert seit: Feb 2002
Beiträge: 35
rayden5_ ist zur Zeit noch ein unbeschriebenes Blatt
rayden5_ eine Nachricht über ICQ schicken
Standard

Alsooo,

ich hab jetzt nochmal gestet und es sieht folgendermaßen aus (in der PHP Datei welche aus dem IMG-TAG aufgerufen wird, ist die erste Zeile ssession_start() um die Session fortzuführen):

- Wenn ich im IMG-TAG die Session-ID NICHT anhänge wird das RICHTIGE Bild angezeigt, jedoch als Größe -1 Byte, als Typ 'unbekannt' und Speichern nur als BMP möglich

- Wenn ich im IMG-TAG die Session-ID anhänge wird das RICHTIGE Bild angezeigt, ABER die Größe von meinem Logo, als TYP JPGEG und bei Speichern unter wird DAS LOGO Gepseichert, obwohl ich das Cover sehe (DAS finde ich mal kurios)...

- Wenn ich Session_start GANZ weglasse (egal ob ich die Session_id übergebe oder nicht , klappt die IF-Abfrage nicht mehr und es wird immer das LOGO angezeigt, der TYP ist JPEg, die Größe ist Korrekt und bei Speichern unter wird auch das Logo gespeichert


...alle 3 Versionen sind unbefriedigend, wobei V3. das ist was ich will, nur halt daß die IF-Abfrage noch laufen sollte

Was ich auch nicht verstehe, aber evtl. mein Denkfehler: Ich bin der Meinung gewesen , daß , wenn ich Session-ID anhänge, ich auf das session_start() verzichtn kann, weil er die Session weiterführt, dem ist leider nicht so, der kennt die Varsa echt nur dann wenn ich session_start ausführe..

Also ich hab echt keinen PLan mehr, was denn hier genau nicht paßt, falls von Euch noch Jemand was weiß, bitte melden

Ray

Geändert von rayden5_ (25-07-2002 um 15:21 Uhr)
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

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

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


 

Aktuelle PHP Scripte

Microweber CMS

Open source, drag and drop website builder

13.01.2020 Berni | Kategorie: HTML5/ EDITOR
PhoneGap Apps mit JS, CSS3 und HTML5 erstellen ansehen PhoneGap Apps mit JS, CSS3 und HTML5 erstellen

PhoneGap, Framework zur Erstellung hybrider Applikationen für mobile Endgeräte.

13.01.2020 Berni | Kategorie: App-Entwicklung
Bo)Tickets

Bo)Tickets bietet Ihnen eine Schnittstelle für Kundenanfragen an. In dem Script definieren Sie Supportbereiche, also zum Beispiel „Technik, Buchhaltung, Support“. Ihre Kunden können dann über ein Formular eine Anfrage abschicken.

31.12.2019 bocombo | Kategorie: PHP/ Ticketsystem
 Alle PHP Scripte anzeigen

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