SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #11  
Alt 22.12.2007, 02:18:11
defabricator defabricator ist offline
Senior Member
 
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 53
Beiträge: 1.020
AW: Mehrere spalten abfragen!

Zitat:
defabricator war meine Lösung relativ ok?
Wie pingelig darf's denn sein? ;)
Zitat:
<head>
</head>
Laut w3 muss das header Element ein title Element enthalten.
Zitat:
include("Connect.php");
besser require. Connect.php sollte nicht einfach "unsichtbar" irgendeine Verbindung erstellen, sondern mindestens eine Funktion getDB() definieren, die eine Datenbankresource zurückgibt.
Zitat:
<?php $PHP_SELF ?>
Hier fehlt mindestens ein echo. $PHP_SELF ist nur mit register_globals=On definiert, default ist Off -> $_SERVER['PHP_SELF'], da steht aber alles drin, was der Benutzer nach der host Angabe eingegeben hat -> potentielle XSS Lücke.
action="?" reicht völlig aus, um dem Browser anzuzeigen, dass der gleiche uri aufgerufen werden soll.
Zitat:
<form action="<?php $PHP_SELF ?>" name="Formular" method="post">
Name: (KSTICKER)<input name="Name"
<form> muss nach w3 ein Blockelement wie zum beispiel <div> enthalten. Ein submit button wäre auch noch nett ;)
Code:
<form action="?" name="Formular" method="post">
 <div>
  Name: (KSTICKER)<input name="Name" type="text" size="30" maxlength="30" />
  <br />
  PLZ (01734):<input name="PLZ" type="text" size="30" maxlength="30" />
  <br/>
  Gebe einfach die in Klammer angegebenen Daten ein!<br/>
  Drücke dann Enter um die Daten anzuzeigen!<br />
  <input type="submit" />
 </div>
</form>
Zitat:
</form>
</body>
</html>
</form>
is'n bisschen viel und verdreht, oder?
Das letzte </form> muss weg. Wenn Du hier schon </body></html> ausgibst, dürften keine (HTML-)Daten mehr folgen.

Das restliche Skript sollte nur ausgeführt werden, wenn das Formular abgeschickt wurde, also wenn die $_POST Element gesetzt sind. Und erst dann wird überhaupt die Datenbankverbindung benötigt.

Zitat:
query = MYSQL_QUERY("Select Username, PLZ, Homepage From User Where Username = '".$_POST['Name']."' AND PLZ = '".$_POST['PLZ']."'");
Immer noch: http://en.wikibooks.org/wiki/Program...:SQL_Injection
Die Abfrage muss nicht unbedingt einen Datensatz liefert, deshalb $row abtesten, bevor darüber Daten ausgegeben werden sollen. Wo ist eigentlich das <table> Element?


ungetestet:
PHP-Code:
<html>
  <head><title>blub</title></head>
  <body>
    <form action="?" name="Formular" method="post">
      <div>
        Name: (KSTICKER)<input name="Name" type="text" size="30" maxlength="30" />
        <br />
        PLZ (01734):<input name="PLZ" type="text" size="30" maxlength="30" />
        <br />
        Gebe einfach die in Klammer angegebenen Daten ein!<br />
        Drücke dann Enter um die Daten anzuzeigen!
        <br />
        <input type="submit" />
      </div>
    </form>
<?php
if (isset($_POST['Name'], $_POST['PLZ'])) {
  require 
'Connect.php';
  
$mysql getDB();
  
$query "SELECT
    Username, PLZ, Homepage
  FROM
    User
  WHERE
    Username = '"
.mysql_real_escape_string($_POST['Name'], $mysql)."'
    AND PLZ = '"
.mysql_real_escape_string($_POST['PLZ'], $mysql)."'";
  
$result mysql_query($query$mysql) or die(mysql_error());
  
$row mysql_fetch_array($resultMYSQL_ASSOC);
  if (
$row) {
    echo 
htmlentities($row['Username']) . ' - ' 
      
htmlentities($row['PLZ']) . ' - ' 
      
htmlentities($row['Homepage']) . "<br />\n";
  }
  else {
    echo 
'kein Datensatz zu ' htmlentities($_POST['Name']) . ' gefunden.';
  }
}
?>
  <p>The End</p>
  </body>
</html>
__________________
Wat der Bauer nich kennt, dit frisster nich.

Geändert von defabricator (22.12.2007 um 02:18:52 Uhr)
Mit Zitat antworten
  #12  
Alt 22.12.2007, 02:22:09
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 34
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: Mehrere spalten abfragen!

Mensch wusste garnicht das meine Scripts so fehlerhaft sind, denn sie funktionieren eigentlich immer soweit fehlerfrei, danke für deine Analyse
Achja, das Script in diesem Thread war nur mal schnell als beispiel zusammengeschustert

Geändert von ksticker (22.12.2007 um 02:23:32 Uhr)
Mit Zitat antworten
  #13  
Alt 22.12.2007, 02:28:35
Ringo21 Ringo21 ist offline
Anfänger
 
Registriert seit: Mar 2006
Ort: Bad Salzuflen
Alter: 37
Beiträge: 55
AW: Mehrere spalten abfragen!

jo du wolltest mein script haben kein problem:
PHP-Code:
 <?php
  
include "../cfg/config.php";
   
session_start();
   
error_reporting(1);
   
$name $_GET["name"];
   
$pass $_GET["pass"];
   
$pass md5($pass);
    if(
$pass and $name) {
      include(
"connect.php");
      
$query="SELECT * FROM leauser WHERE Name='"mysql_escape_string($name)."'";
      
$result=mysql_query($query);
      
$row=mysql_fetch_object($result);

      if(!
$row)
      {

      echo 
'Ich glaube Sie haben sich vertippt?<br>Versuchen Sie es noch einmal.';


      }
      else {
     if (
$pass==$row->Passwort)
      {
    
$_SESSION["loggedin"] = 1;
    
$_SESSION["user"] = $name;
     echo 
'
<html>
<head>
<title>'
.$pagetitle.'</title>
<link rel="stylesheet" type="text/css" href="../cfg/style.css" media="screen" />
<meta http-equiv="refresh" content="4;URL=../index.php?page=default">
</head>
<body>
    <table width="100%" height="100%">
         <tr valign="middle" align="center">
      <td><b>Hallo '
.$_SESSION["user"].'. Du hast '.$active.' dich erfolgreich eingeloggt.</b>
      <br><a href="../index.php?page=default">Falls die automatische Weiterleitung nicht funktioniert, klicke bitte hier!</a></td>
     </tr>
    </table>'
;
        
        }
    else {
        echo 
"<i>Passwort oder Benutzername sind nicht in der Datenbank! <a href=\"login.php\">Weiter</a></i>";
    }
       }
      }
      else {
        echo 
'Geben Sie bitte Ihren Benutzernamen und Ihr Passwort ein! <a href="login.php">Weiter</a>';
  }
 
?>
Über ordentlichkeit usw. bitte nicht allzu viel meckern ;-)
Funktioniert soweit einwandfrei, will darin halt nur die abfrage für die Spalte Freigabe und ob in der Spalte ja oder nein steht! Dann halt ne simple if abfrage ob ja oder nein drin steht! Wenn nein tjoah soll kein Login möglich sein und wenn ja dann schon!

Aber schonmal vielen dank für eure hilfen!!!
__________________
Denk nicht an die Dinge, die noch nicht passiert sind!
Mit Zitat antworten
  #14  
Alt 22.12.2007, 02:35:00
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 34
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: Mehrere spalten abfragen!

wo soll der benutzer den bitte sein passwort und seinen Benutzernamen eingeben?
Mit Zitat antworten
  #15  
Alt 22.12.2007, 02:38:43
Ringo21 Ringo21 ist offline
Anfänger
 
Registriert seit: Mar 2006
Ort: Bad Salzuflen
Alter: 37
Beiträge: 55
AW: Mehrere spalten abfragen!

achso ja das ist in einem vorherigen formular, welches die daten dann an des vorherig gepostete schickt!
__________________
Denk nicht an die Dinge, die noch nicht passiert sind!
Mit Zitat antworten
  #16  
Alt 22.12.2007, 02:41:00
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 34
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: Mehrere spalten abfragen!

kannst Du bitte auch mal das andere Script vollständig posten
Mit Zitat antworten
  #17  
Alt 22.12.2007, 02:48:13
Ringo21 Ringo21 ist offline
Anfänger
 
Registriert seit: Mar 2006
Ort: Bad Salzuflen
Alter: 37
Beiträge: 55
AW: Mehrere spalten abfragen!

klar:
PHP-Code:
<?php
 session_start
();
  if(
$_SESSION["loggedin"] == 0) {
  
$_SESSION["user"] = "Gast";
  }
  
  if (
$_SESSION["loggedin"] == 0) {
            
// nicht eingeloggt, also login und registrieren anzeigen
            
            
echo '
    <form method="post" action="suche.php">
    <table width="100%" height="32" cellspacing="0" cellpadding="0" border="0">
     <tr>
      <td width="213"><img src="gfx/nav_buttons0.gif" usemap="#nav_buttons" width="213" height="32" border="0"></td>
      <td background="gfx/bg_nav.gif">&nbsp;</td>
      <td width="16"><img src="gfx/nav_lupe.gif" width="16" height="32"></td>
      <td width="108" background="gfx/bg_search.gif" align="center" valign="top"><input type="text" name="suchbegriff" value="Suchbegriff" class="suche"></td>
      <td width="30"><input name="send" src="gfx/nav_go.gif" type="image"></td>
      <td width="19"><img src="gfx/nav_right.gif" width="19" height="32"></td>
     </tr>
    </table>
    </form>
    <map id="nav_buttons" name="nav_buttons">
    <area shape="rect" alt="" coords="9,8,54,19" href="index.php?page=home" title="" />
    <area shape="rect" alt="" coords="70,8,159,19" href="index.php?page=members" title="" />
    <area shape="rect" alt="" coords="175,7,209,21" href="index.php?page=faq" title="" />
    <area shape="default" nohref="nohref" alt="" />
    </map>
    <form method="get" action="pages/login.php">
    <table width="886" cellspacing="2" cellpadding="2" border="1">
     <tr>
      <td height="15" colspan="2">Hallo <b>'
.$_SESSION["user"].'</b></td>
      <td>&nbsp;</td>
     </tr>
     <tr>
      <td width="100" height="15"><input type="text" name="name" class="login"></td>
      <td width="100" height="15"><input type="password" name="pass" class="login"></td>
      <td>&nbsp;</td>
     </tr>
     <tr>
      <td width="100" height="15"><input type="image" src="gfx/button_login.gif" value="login"></td>
      <td width="100" height="15"><a href="pages/register.php"><img src="gfx/button_register.gif" border="0"></a></td>
      <td>&nbsp;</td>
     </tr>
    </table>
    </form>
    '
;
        
        }        
?>
__________________
Denk nicht an die Dinge, die noch nicht passiert sind!
Mit Zitat antworten
  #18  
Alt 22.12.2007, 02:56:21
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 34
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: Mehrere spalten abfragen!

so ich habe nun das 1. Script mal etwas umgeschrieben.
Ist aber ungetestet, da ich Deine Datenbank etc. nicht habe

PHP-Code:
<?php 
   session_start
(); 
   include 
"../cfg/config.php"
   
error_reporting(1); 
   
$name $_GET["name"]; 
   
$pass md5($_GET["pass"]); 
      
#was soll diese if entweder kenne ich das nicht oder es ist falsch if($pass and $name) { 
      
include("connect.php"); 
      
$query="SELECT * FROM leauser WHERE Name='"mysql_escape_string($name)."'"
      
$result=mysql_query($query); 
      
$row=mysql_fetch_object($result); 

      if(
$name != $row['Name']){ 
      echo 
'Diesen Benutzernamen gibt es nicht!<br>Bitte versuchen Sie es noch einmal.'
      }else{ 
      if (
$pass == $row['Passwort']){ 
        
$_SESSION["loggedin"] = 1
        
$_SESSION["user"] = $name;
        
#nur wenn passwort und username übereinstimmen wird die Seite aufgebaut -->
     
echo 

<html> 
<head> 
<title>'
.$pagetitle.'</title> 
<link rel="stylesheet" type="text/css" href="../cfg/style.css" media="screen" /> 
<meta http-equiv="refresh" content="4;URL=../index.php?page=default"> 
</head> 


<body> 
    <table width="100%" height="100%"> 
         <tr valign="middle" align="center"> 
              <td><b>Hallo '
.$_SESSION["user"].'. Du hast '.$active.' dich erfolgreich eingeloggt.</b> <!--Wo kommt den der Inhalt der Variable activer her -->
              <br><a href="../index.php?page=default">Falls die automatische Weiterleitung nicht funktioniert, klicke bitte hier!</a></td> 
        </tr> 
    </table>'

         
        } 
    else { 
        echo 
"<i>Diese Kombination von Passwort und Benutzername gibt es nicht <a href=\"login.php\">Weiter</a></i>"
    } 
       } 
       
#Das kann meiner Meinung nach weg
      #} 
      #else { 
       # echo 'Geben Sie bitte Ihren Benutzernamen und Ihr Passwort ein! <a href="login.php">Weiter</a>'; 
 #} 
 
?>
PS. Achte auf meine Kommentare im Script

Geändert von ksticker (22.12.2007 um 03:01:07 Uhr)
Mit Zitat antworten
  #19  
Alt 22.12.2007, 02:57:18
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 34
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: Mehrere spalten abfragen!

Fehler die mir aufgefallen sind:

a)Die Session wird als erstes gestartet
b)schau Dir einfach mal die md5verschlüsselung an hab es um eine Zeile gekürzt geht auch so
und ganz wichtig !!!!!!!!!!!!!!!!!! Passwörter übergibt man nicht per get, wenn dann nur verschlüsselt!!!!!! Was hat das für einen Sinn? Du verschlüsselt das Passwort erst nach der übergabe, das macht man nicht man verschlüsselt es vor der Übergabe damit es nicht jemand mitlesen kann!

Geändert von ksticker (22.12.2007 um 03:00:28 Uhr)
Mit Zitat antworten
  #20  
Alt 22.12.2007, 03:04:47
Ringo21 Ringo21 ist offline
Anfänger
 
Registriert seit: Mar 2006
Ort: Bad Salzuflen
Alter: 37
Beiträge: 55
AW: Mehrere spalten abfragen!

OK das mit der verschlüsselung werd ich dann korrigieren danke für den Tip ist mir ganricht aufgefallen!
Problem ist aber noch beim
PHP-Code:
$query="SELECT * FROM leauser WHERE Name='"mysql_escape_string($name)."'"
Es wird da ja die Tabelle leauser aufgerufen und die Spalte Name aufgerufen! Soweit alles klar! Jetzt will ich aber eine zusätzliche spalte nach WHERE Name='"... aufrufen und zwar die spalte Freigabe! Aus welcher der inhalt ausgelesen werden soll sprich was in freigabe drin steht!!

Dank dir war sonst schon ne große hilfe!
__________________
Denk nicht an die Dinge, die noch nicht passiert sind!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit php 3 Spalten Layout 007Rene HTML, CSS und JavaScript Help! 1 01.03.2007 14:44:26
Eine Tabelle 3 Spalten ohne primary key Franzx MySQLi/PDO/(MySQL) 1 30.05.2006 22:55:37
SQL-Abfrage: Mehrere Spalten als ein "String" betrachten? jeanpascal PHP Grundlagen 6 28.12.2005 20:17:28
93 Spalten oder 31 Zeilen? DJTonic PHP für Fortgeschrittene und Experten 1 05.02.2004 09:25:05
Suche über alle Spalten volti MySQLi/PDO/(MySQL) 1 26.12.2003 22:07:18


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:37:47 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.


© 2001-2023 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt