php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.09.2006, 19:57  
Neuer Benutzer
 
Registriert seit: 19.01.2006
Beiträge: 23
Wöllchen
Standard dropdownmenü

PHP-Code:
<?php //jahrgaenge.php

session_start();
$_SESSION['user']['logged_in'] = 1;
$_SESSION['user']['level'] = '100';

define'ACTIVE'true );

include( 
'security.php' );
include( 
'mysql.php' );
include( 
'functions.php' );

if( 
check_lvl'jahrgaenge_add'$_SESSION['user']['level'] ) != )
{
   die( 
'Sie haben keine Berechtigung diese Seite zu besuchen!
);
}

$_GET['action'] = !isset( $_GET['action'] ) ? 'step1' $_GET['action'];

if( 
$_GET['action'] == 'step1' )
{
   echo 
'<center>';
   echo 
'<form action="jahrgaenge_add.php?action=step2" method="post">';
   
   echo 
'<table align="center" border="1">';
   echo 
'<tr>';
   echo 
'<td align="center" valign="top" width="150"></td>';
   echo 
'<td align="center" valign="top" width="100">[b]<u>Montag</u>[/b]</td>';
   echo 
'<td align="center" valign="top" width="100">[b]<u>Dienstag</u>[/b]</td>';
   echo 
'<td align="center" valign="top" width="100">[b]<u>Mittwoch</u>[/b]</td>';
   echo 
'<td align="center" valign="top" width="100">[b]<u>Donnerstag</u>[/b]</td>';
   echo 
'<td align="center" valign="top" width="100">[b]<u>Freitag</u>[/b]</td>';
   echo 
'</tr>';
   
   
$d 0;
   
   for( 
$a $a 11 $a++ )
   {
      for( 
$c $c $c++ )
      {
         
$b $d $c;
         
         
$sql 'SELECT * FROM `faecher`';
         
$sql mysql_query$sql );
      
         
$temp[] = '<select name="stunde|' $a '|tag|' $b '">';
         
$temp[] = '<option value="0">-Fach auswählen-</option>';
         
$temp[] = '<option value="00">Freistunde</option>';
      
         while( 
$row mysql_fetch_assoc$sql ) )
         {
            
$temp[] = '<option value="' $row['id'] . '">' $row['fach'] . '</option>';
         }
      
         
$temp[] = '</select>';
         
$faecher[] = implode''$temp );
      
         unset( 
$temp );
      }
            
      echo 
'<tr>';
      echo 
'<td align="center" valign="top" width="100">[b]<u>' $a '. Stunde</u>[/b]</td>';
      echo 
'<td align="center" valign="top" width="100">' $faecher[0] . '</td>';
      echo 
'<td align="center" valign="top" width="100">' $faecher[1] . '</td>';
      echo 
'<td align="center" valign="top" width="100">' $faecher[2] . '</td>';
      echo 
'<td align="center" valign="top" width="100">' $faecher[3] . '</td>';
      echo 
'<td align="center" valign="top" width="100">' $faecher[4] . '</td>';
      echo 
'</tr>';
      
      unset( 
$faecher );
   }
   
   echo 
'</table>
'
;
   
   echo 
'<input type="submit" name="send" value="Nächster Schritt"><input type="reset" value="Zurücksetzen">';
   echo 
'</form>
'
;
   echo 
'[url="jahrgaenge.php"]Zurück zur Jahrgänge Übersicht[/url]';
}
elseif( 
$_GET['action'] == 'step2' //ab hier
{
   if( 
$_POST['send'] )
   {
      echo 
'<center>';
      echo 
'<form action="jahrgaenge_add.php?action=add" method="post">';
   
      echo 
'<table align="center" border="1">';
      echo 
'<tr>';
      echo 
'<td align="center" valign="top" width="150"></td>';
      echo 
'<td align="center" valign="top" width="100">[b]<u>Montag</u>[/b]</td>';
      echo 
'<td align="center" valign="top" width="100">[b]<u>Dienstag</u>[/b]</td>';
      echo 
'<td align="center" valign="top" width="100">[b]<u>Mittwoch</u>[/b]</td>';
      echo 
'<td align="center" valign="top" width="100">[b]<u>Donnerstag</u>[/b]</td>';
      echo 
'<td align="center" valign="top" width="100">[b]<u>Freitag</u>[/b]</td>';
      echo 
'</tr>';
   
      
$d 0;
   
      for( 
$a $a 11 $a++ )
      {
         for( 
$c $c $c++ )
         {
            
$b $d $c;
            
            if( 
$_POST['stunde|' $a '|tag|' $b] != )
            {
               
$sql2 'SELECT * FROM `faecher` WHERE `id`="' $_POST['stunde|' $a '|tag|' $b] . '"';
               
$sql2 mysql_query$sql2 );
               
$sql2 mysql_fetch_assoc$sql2 );
               
               if( 
extract_faecher$_POST['stunde|' $a '|tag|' $b] != ) )
               {
                  
$result extract_faecher$_POST['stunde|' $a '|tag|' $b] );
                  
$temp[] = '[b]' $sql2['fach'] . '[/b]
'
;
                  
$temp[] = '<select name="lehrer|stunde|' $a '|tag|' $b '">';
                  foreach( 
$result AS $key => $val )
                  {
                     
$sql 'SELECT * FROM `lehrer` WHERE `id`="' $val '"';
                     
$sql mysql_query$sql );
                     
$sql mysql_fetch_assoc$sql );
                     
$temp[] = '<option value="' $val '">' $sql['name'] . '</option>';
                  }
                  
$temp[] = '</select>';
               }
            }
            else
            {
               
$temp[] = '[b]-Kein Fach-[/b]';
               
$temp[] = '<select name="lehrer|stunde|' $a '|tag|' $b '">';
               
$temp[] = '<option value="0">';
            }
            
            
$temp[] = '</select>';
            
$lehrer[] = implode''$temp );
      
            unset( 
$temp );
         }
            
         echo 
'<tr>';
         echo 
'<td align="center" valign="top" width="100">[b]<u>' $a '. Stunde</u>[/b]</td>';
         echo 
'<td align="center" valign="top" width="100">' $lehrer[0] . '</td>';
         echo 
'<td align="center" valign="top" width="100">' $lehrer[1] . '</td>';
         echo 
'<td align="center" valign="top" width="100">' $lehrer[2] . '</td>';
         echo 
'<td align="center" valign="top" width="100">' $lehrer[3] . '</td>';
         echo 
'<td align="center" valign="top" width="100">' $lehrer[4] . '</td>';
         echo 
'</tr>';
      
         unset( 
$faecher );
      }
   
      echo 
'</table>
'
;
   
      echo 
'<input type="submit" name="send" value="Nächster Schritt"><input type="reset" value="Zurücksetzen">';
      echo 
'</form>
'
;
      echo 
'[url="jahrgaenge.php"]Zurück zur Jahrgänge Übersicht[/url]';
   }
}

?>
PHP-Code:
<?php // functions.php

if( !defined'ACTIVE' ) )
{
   die( 
'hacking attempt' );
}

function 
check_lvl$page$level )
{
   
$sql 'SELECT * FROM `admin` WHERE `section`="' $page '"';
   
$sql mysql_query$sql );
   
$sql mysql_fetch_assoc$sql );
   
   
$lvl explode'|'$level );
   
$count count$lvl );
   
   for( 
$i $i $count $i++ )
   {
      if( 
$lvl[$i] == 100 )
      {
         return 
1;
      }
   
      if( 
$sql['level'] == $lvl[$i] )
      {
         return 
1;
      }
   }
   
   return 
0;
}

function 
extract_faecher$fach )
{
   
$sql 'SELECT * FROM `lehrer`';
   
$sql mysql_query$sql );
   
   while( 
$row mysql_fetch_assoc$sql ) )
   {
      
$explode explode'|'$row['faecher'] );
      
      foreach( 
$explode AS $key => $val )
      {
         if( 
$val == $fach )
         {
            
$return[] = $row['id'];
         }
      }
   }
   
   if( !isset( 
$return ) )
   {
      return 
'0';
   }
   else
   {
      return 
$return;
   }
}

?>
hi leute
ich hab ein problem
das da oben sind 2 dateien
das problem liegt bei der ersten datei und die functionen die darin auftauchen sind i nder 2ten datei
da wo ich bei der ersten datei //ab hier geschrieben hab da sitzt das problem
auf der ersten seite wenn man die datei öffnet kann man fächer auswählen zb deutsch englisch usw
auf der 2ten seite dann die lehrer aber nur die lehrer die das auch unterrichten
mein problem is nun wenn ich auf der ersten seite zb deutsch und englisch einstelle bei montag erscheint auf der 2ten seite nur deutsch also das erste fach undzwar die ganze zeile runter wo liegt das problem weiß echt nich weiter
es wäre übrigens hilfreich wenn jemand die beiden dateien kopieren und ausführen könnte um sich ein bild zu machen

bitte dringends um hilfe

Mfg

EDIT:
ihr müsstet euch dann halt ne mysql.php basteln und hier sind dann die mysql einträge:
Code:
-- phpMyAdmin SQL Dump
-- version 2.8.0.3
-- http://www.phpmyadmin.net
-- 
-- Host: localhost
-- Erstellungszeit: 17. September 2006 um 20:03
-- Server Version: 5.0.20
-- PHP-Version: 5.1.2
-- 
-- Datenbank: `gymlgh`
-- 

-- --------------------------------------------------------

-- 
-- Tabellenstruktur für Tabelle `admin`
-- 

CREATE TABLE `admin` (
  `id` int(11) NOT NULL,
  `section` varchar(255) NOT NULL,
  `level` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=13 ;

-- 
-- Daten für Tabelle `admin`
-- 


INSERT INTO `admin` VALUES (12, 'jahrgaenge', '12');

-- --------------------------------------------------------

-- 
-- Tabellenstruktur für Tabelle `faecher`
-- 

CREATE TABLE `faecher` (
  `id` int(11) NOT NULL,
  `fach` varchar(255) NOT NULL,
  `beschreibung` varchar(255) NOT NULL,
  `beschreibung2` text NOT NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=6 ;

-- 
-- Daten für Tabelle `faecher`
-- 

INSERT INTO `faecher` VALUES (1, 'Deutsch', 'Das Fach Deutsch, in dem die Schüler die deutsche Sprache kennen lernen.', 'Das Fach Deutsch fällt unter die Kategorie Hauptfach.
\r\nJeder Jahrgang wird in diesem Fach unterrichtet werden.
\r\nHier lernen die Schüler lesen und schreiben, die Grammatik und vieles mehr.');
INSERT INTO `faecher` VALUES (2, 'Englisch', 'Hier lernen die Schüler die englische Sprache.', 'Englisch gehört zu den Hauptfächern und wird in allen Jahrgängen unterrichtet.');
INSERT INTO `faecher` VALUES (3, 'Französisch', 'Französische Sprache.', 'Hier lernen Schüler alles über die französische Sprache.');
INSERT INTO `faecher` VALUES (4, 'Geschichte', '', '');
INSERT INTO `faecher` VALUES (5, 'Sport', '', '');

-- --------------------------------------------------------


-- 
-- Tabellenstruktur für Tabelle `lehrer`
-- 

CREATE TABLE `lehrer` (
  `id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `faecher` varchar(255) NOT NULL,
  `beschreibung` text NOT NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=6 ;

-- 
-- Daten für Tabelle `lehrer`
-- 

INSERT INTO `lehrer` VALUES (1, 'Silke Kaune', '1|2', 'Silke Kaune ist eine Deutsch und Englisch Lehrerin.\r\nSie unterrichtet an der Schule schon mehrere Jahre.');
INSERT INTO `lehrer` VALUES (3, 'Ulrich Lindnau', '2|3', 'Ulrich Lindnau unterrichtet Englisch und Französisch.');
INSERT INTO `lehrer` VALUES (4, 'Frau Günther', '2|3', 'Frau Günther unterrichtet Englisch und Französisch.');
INSERT INTO `lehrer` VALUES (5, 'Herr Neuß', '4|5', '');
so hoffe habe nix vergessn...
Wöllchen ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 18.09.2006, 17:52  
Erfahrener Benutzer
 
Registriert seit: 08.06.2004
Beiträge: 865
RudiS
Standard

Das Problem liegt in Zeile 147, du musst sie ändern:
Code:
unset( $lehrer );
Dann funktioniert es.
Allerdings solltest du dein Skript verbessern:mfg RudiS
__________________
Kunst kommt von Können und nicht von wollen, denn sonst würde es ja Wunst heißen.
RudiS ist offline  
Alt 18.09.2006, 18:56  
Neuer Benutzer
 
Registriert seit: 19.01.2006
Beiträge: 23
Wöllchen
Standard

ach verdammt ich könnte mich jez zusammenschlagen
danke ich habs einfach nich gefundn vielen dank!!
das mit den sql-injektionen war mir schon klar das wollte ich dann auch noch einbaun wenn alles klappt
ok es funzt jez alles so wie es soll danke für deine hilfe
Wöllchen ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
silke kaune, php französiches \' als insert, \silke kaune

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:48 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.