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 26-03-2009, 15:29
YOPIC
 Newbie
Links : Onlinestatus : YOPIC ist offline
Registriert seit: Mar 2009
Beiträge: 5
YOPIC ist zur Zeit noch ein unbeschriebenes Blatt
Standard Problem mit Galerie öffentlich/privat

Hallo zusammen,



vielleicht kann mir hier jemand helfen.



Gleich von vornherein, ja , ich bin kein PhP Guru und kenne mich nur in den Grundzügen damit aus, dennoch verstehe ich fast immer sofort, was gemeint ist... lächel



Nachdem ich mich nun als PHP-Deppen geoutet habe - hier mein Problem

Verwendet wird : PHP 5 , GD Lib

Ich habe einen Gallerie Code, der es ermöglicht meinen Mitglieder auf yoyo.ilohost.com eine eigene Galerie zu erstellen.

Dabei kann der User dann zwischen privat und puplic auswählen. Das scheint aber nicht zu funktionieren, da die Galerien immer nur dem Mitglied angezeigt werden, auch wenn das Mitglied puplic gewählt hat.

Im Prinzip soll aber das Mitglied zwischen eigenen ( mit eigenem Passwort ) gesicherten Galerien und halt den für alle sichtbaren öffentlichen Galerien wählen können.

Hier mal der Code

PHP-Code:
<?php

 session_start
();
 
 include(
"db-info.php");

 
$link mysql_connect($server$user$pass);

 if(!
mysql_select_db($database)) die(mysql_error());

 include(
"session.inc.php");

 include(
"loadsettings.inc.php");

?>

<html>

<head>

<title><? echo $webtitle?> - kostenloses Bilderhosting</title>

<link rel="stylesheet" href="style.css" type="text/css" />

<meta name="description" content="<? echo $description?>" />

<meta name="keywords" content="<? echo $keywords?>" />

</head>


<body>

<?php include("header.php"); ?>

<center>

<div class="content-container">
   
 
<!-- ######################################################################################### --> 


<?php


if (isset($_POST["password"]))  {

  
$id $_POST["id"];
        
   
$q "SELECT * FROM `galleries` WHERE id = '$id'";

     if(!(
$result_set mysql_query($q))) die(mysql_error());

       
$number mysql_num_rows($result_set);
  
  if (
$number) {

     
$row mysql_fetch_array($result_set);
  
     
$imguserid $row['userid'];

     
$r mysql_query("SELECT userpass FROM `members` WHERE id = '$imguserid'");   

     
$row1 mysql_fetch_row($r);

     
$userpass $row1[0];

     if (
$_POST["password"] != $userpass)

        echo 
"Entschuldigung, aber Du hast ein falsches Passwort angegeben.";

     else {
        
show();
        
$_SESSION['gallery' $id] = "true";
     }
          
  }

}
else  

{  
//*******************************************************************************************

if ((isset($_GET["id"])) && (trim($_GET["id"]) != "")) {

 
$id $_GET["id"];
        
 
$q "SELECT * FROM `galleries` WHERE id = '$id'";

 if(!(
$result_set mysql_query($q))) die(mysql_error());

 
$number mysql_num_rows($result_set);

 if (
$number) {
  
$row mysql_fetch_array($result_set);
  
  if (
$row['type'] == "private") {
  
     if (
$row['userid'] != $userid) {
        echo 
"Das ist eine private Galerie. Bitte gebe ein Passwort ein!<br><br>";
        echo 
"<form action='gallery.php' method='POST'>Passwort: <input type='password' name='password' maxlength='30'>";
        echo 
"<input type='hidden' name='id' value='$id'>";
        echo 
"&nbsp; &nbsp; <input type='submit' value='Galerie ansehen'></form>";
     }
     else 
show();

  }
  else
     
show();

 }
 else 
   echo 
"Entschuldigung, aber Du hast eine falsche ID angegegen.";

}
else
  echo 
"Bitte gebe eine Galerie ID an !";


//ENDING ELSE OF if(isset($_POST["password"]))



//*************************************************************************************************************

function show() {

  global 
$id;
  
$result mysql_query("SELECT * FROM `galleries` WHERE id = '$id'");
  
$row1 mysql_fetch_array($result);
  
$type $row1['type'];
  
$name $row1['name'];

  
$result mysql_query("SELECT * FROM `images` WHERE galleryid = '$id'");
  
$number mysql_num_rows($result);   
 
  echo 
"<center><br><h1>Galerie: \"$name\"</h1>";
  echo 
"<br><LABEL id='title'>Typ:</LABEL> $type<br>";

  if (
$number) {
    echo 
"Es sind '$number' Bilder in dieser Galerie.<br><br><br>";    
    echo 
"<table><tr>";
    
$x = -1;
    while (
$row mysql_fetch_array($result)) {

      
$x++;
      if ((
$x 5) == 0) echo "</tr><tr>";
 
      echo 
"<td align=center>
            <a href='show-image.php?id={$row['id']}'>
            <img src='thumb.php?id={$row['id']}'> </a> 
            <br><LABEL id='title'>Angesehen:</LABEL> {$row['views']} </td>"
;

    }
    echo 
"</tr></table>";
    echo 
"</center>";
  }
  else
    echo 
"<br><br><center><LABEL id='title'>In dieser Galerie gibt es noch keine Bilder !</LABEL></center>";

}


?>

       
<!-- ######################################################################################### -->


<?php  include("footer.php"); ?>


</div>

 </center>

   </body>

     </html>


Ich hoffe das mir jemand helfen kann.



Ich kann in dem Code nicht erkennen wo das Script irgenwoher das öffentliche holen soll?



Gruß

Frank

Geändert von YOPIC (26-03-2009 um 20:33 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 26-03-2009, 16:41
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.721
Kropff befindet sich auf einem aufstrebenden Ast
Standard

wärst du bitte so gütig und würdest den quellcode vernünftig einrücken, so dass man ihn auch sauber lesen kann. ich denke, derzeit hat keiner lust, sich das anzusehen.

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 26-03-2009, 17:10
YOPIC
 Newbie
Links : Onlinestatus : YOPIC ist offline
Registriert seit: Mar 2009
Beiträge: 5
YOPIC ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sorry, aber was verstehst Du unter " vernünftig " ?

Der Quellcode ist 1:1 übernommen und ich kann den Code eigentlich sehr sauber lesen. Aber da ich wie gesagt kein Fachmann bin, weiß ich nicht, wie die Profis den Quellcode einrücken.

Lg

Frank
Mit Zitat antworten
  #4 (permalink)  
Alt 26-03-2009, 17:17
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.721
Kropff befindet sich auf einem aufstrebenden Ast
Standard

so zum beispiel:
PHP-Code:
if (isset($_POST["password"])) 

  
$id $_POST["id"]; 
  
$q "SELECT * FROM `galleries` WHERE id = '$id'"
  if(!(
$result_set mysql_query($q))) 
  {
    die(
mysql_error()); 
  }
  
$number mysql_num_rows($result_set); 

  if (
$number
  { 
    
$row mysql_fetch_array($result_set); 
    
$imguserid $row['userid']; 
    
$r mysql_query("SELECT userpass FROM `members` WHERE id = '$imguserid'"); 
    
$row1 mysql_fetch_row($r); 
    
$userpass $row1[0]; 
    if (
$_POST["password"] != $userpass)
    {
      echo 
"Entschuldigung, aber Du hast ein falsches Passwort angegeben."
    }
    else 
    { 
      
show(); 
      
$_SESSION['gallery' $id] = "true"
    }
  }

schau dir ggf. mal das hier an, da wird es erklärt.

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite

Geändert von Kropff (26-03-2009 um 17:19 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 26-03-2009, 17:22
YOPIC
 Newbie
Links : Onlinestatus : YOPIC ist offline
Registriert seit: Mar 2009
Beiträge: 5
YOPIC ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich danke Dir.

Ich werde versuchen es ordentlich hin zu bekommen.

Gruß

Frank
Mit Zitat antworten
  #6 (permalink)  
Alt 26-03-2009, 17:24
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.721
Kropff befindet sich auf einem aufstrebenden Ast
Standard

und bitte immer(!) schön mit den geschweiften klammern arbeiten. und zwar bei jeder bedingung

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #7 (permalink)  
Alt 26-03-2009, 20:35
YOPIC
 Newbie
Links : Onlinestatus : YOPIC ist offline
Registriert seit: Mar 2009
Beiträge: 5
YOPIC ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ch habe jetzt versucht, das ganze ordentlich zu bearbeiten, aber ich kann eigentlich gar keinen Unterschied erkennen.

Hoffentlich könnt Ihr damit jetzt anfangen, da ich das Problem schon gern einmal gelöst hätte.

Auf jeden Fall bedank ich mich schon jetzt für eure Mitarbeit.

Gruß

Frank
Mit Zitat antworten
  #8 (permalink)  
Alt 26-03-2009, 20:52
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.721
Kropff befindet sich auf einem aufstrebenden Ast
Standard

nachdem du deinen code formatierst hast, muss ich sagen "uijuijui". grauselig. aber egal. ich weise dich mal auf die fehler hin.

1. arbeite nie mit global, das ist tödlich. aber erst mal egal
2. du setzt ungeprüft variablen. aber erst mal egal
3. das wichtige: was ergibt in der funktion show ein echo $id?
4. was ist, wenn jemand ohne zugang trotzdem ein passwort eingibt? dann funktioniert dein code eh nicht
5. lies dir auf jeden fall mal das hier durch. dann findest du den fehler selber
6. setzt authentifizierungsvariablen erst nach erfolgreicher prüfung!

hoffe, ich konnte auf die schnelle ein wenig helfen. bei weiteren fragen einfach wieder melden

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #9 (permalink)  
Alt 26-03-2009, 21:27
YOPIC
 Newbie
Links : Onlinestatus : YOPIC ist offline
Registriert seit: Mar 2009
Beiträge: 5
YOPIC ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Noch mal Hallo,

also ich habe jetzt alles noch mal Zeile für Zeile, Zeichen für Zeichen durch gesehen und bin mir nicht sicher ob ich den Fehler entdeckt habe.

Ist es vielleicht dieser hier

PHP-Code:
echo "<center><br><h1>Galerie: \"$name\"</h1>"
sollte es vielleicht so heißen:

PHP-Code:
echo "<center><br><h1>Galerie: "$name"</h1>"
Gruß und Dank


Frank
Mit Zitat antworten
  #10 (permalink)  
Alt 26-03-2009, 21:31
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.721
Kropff befindet sich auf einem aufstrebenden Ast
Standard

nein, das ist es nicht. man schreibt es zwar besser so (mal abgesehen von den steinzeit-tags und der unsauberen verschachtelung):
PHP-Code:
echo '<center><br><h1>Galerie: '.$name.'</h1>'
aber das ist nicht der fehler. bitte lies dir das hier mal genau durch. und handel entsprechend.

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
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

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:25 Uhr.