php.de

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

 
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 3,00 durchschnittlich.
Alt 20.08.2008, 14:13  
Benutzer
 
Registriert seit: 01.07.2008
Beiträge: 72
groovemachine befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Übergabe von Sessionvariablen

Liebe PHP-Forumler,

"....wer nicht fragt bleibt dumm!"

Bevor jetzt jemand schriftlich Steine schmeißt: Ja ich habe gegoogelt und im Forum gesucht, aber ich wurde nicht schlau und bin daher auf Eure Hilfe angewiesen!

Ich habe folgendes Problem:

Ich habe ein Formular, in dem ich User anlege. Firma, Anschrift etc. Diese Werte sollen in eine MySQL-DB übergeben werden und dienen später als Logindaten. Die Betonung liegt im Moment auf "SOLLEN" !

Die ganze Sache funktioniert, bis ich anfange das Formular zu überprüfen, ob den alle Angaben richtig gemacht worden sind. Bis jetzt mache ich die Abfrage nur im Feld "Email".

Zum Aufbau der ganzen Geschichte:

Ich lade eine index.php, in der das Formular ist:

PHP-Code:
<? session_start();
$_SESSION[s_id] = session_id();
?>
<?php
echo"<html>
<head><title>Administratorbereich Onlineportal</title>
<link rel='stylesheet' href='template.css' type='text/css'>
</head>
<body>
 <div id='main'> <br>
 
<table class='adresse'>
<form action='mailcheckreal.php' method='POST'>
<tr>
                 <td>Firma:</td>
                 <td><input type='text' name='firma' size='30' maxlength='32'></td>
<tr>
                 <td>Ansprachpartner:</td>
                 <td><input type='text' name='partner' size='30' maxlength='32'></td>
 
//etc.
Mit betätigen des Buttons gehts weiter mit der mailcheckreal.php:

PHP-Code:
<?php session_start();
if(
$_SESSION[s_id]!=session_id()) {
         
session_destroy();
         
Header("Location:index.php");
         exit();
         }
include(
"var.php");
?>
<?
echo "<html>
<head><title>Administratorbereich Onlineportal</title>
<link rel='stylesheet' href='template.css' type='text/css'>
</head>
<body>"
;
?>
<?php
include("var.php");
if( (empty(
$_SESSION[mail]))  ){
         echo 
"Mailadress ist nicht eingegeben oder fehlerhaft!";
 
         echo 
"<div id='main'> <br>
 
<table class='adresse'>
<form action='mailcheckreal.php' method='POST'>
<tr>
                 <td>Firma:</td>
                 <td class='ah'>$_SESSION[firma]</td>
<tr>
                 <td>Ansprechpartner:</td>
                 <td class='ah'>$_SESSION[partner]</td>
 
//etc.
Ist das Email-Feld leer, so übernimmt er mir zwar alle Variablen, aber nach Eingabe des fehlenden Wertes und nochmaligem betätigen des Buttons sind alle Werte, bis auf die Emailadresse weg.

Vielleicht noch die var.php:

PHP-Code:
<?php
$_SESSION
[firma] = $_POST[firma];
$_SESSION[partner] = $_POST[partner];
$_SESSION[plz] = $_POST[plz];
$_SESSION[ort] = $_POST[ort];
$_SESSION[land] = $_POST[land];
$_SESSION[tel] = $_POST[tel];
$_SESSION[fax] = $_POST[fax];
$_SESSION[mail] = $_POST[mail];
$_SESSION[benutzer] = $_POST[benutzer];
$_SESSION[passwort] = $_POST[passwort];
$_SESSION[passwort_2] = $_POST[passwort_2];
$_SESSION[art] = $_POST[art];
 
?>
Nun meine Frage:

Darf ich in mailcheckreal.php nicht nochmal das selbe Skript ausführen? Was kann ich machen, dass die Werte der Variablen vorhanden bleiben?

Um es ganz banal zu formulieren:
Geht das überhaupt, dass ich die Werte über mehrere Seiten in einer Session verwenden kann? Und wenn "ja", wie geht das oder was muss ich lesen?

Vielen Dank für Eure Mühen und Eure Geduld!!!

Viele Grüße
Tobi
groovemachine ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 20.08.2008, 14:15  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

solange über jedem aufgerufenen script ein session_start() steht, müsste $_SESSION erhalten bleiben.
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline  
Alt 20.08.2008, 14:18  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

Hallo,

erstmal rate ich dir an, dass du am anfang deiner Scripte:
PHP-Code:
error_reportingE_ALL ); 
schreibst. So wirst du feststellen, dass du einige Notices bekommen wirst.

Indizes schreibt man nicht so wie du:
PHP-Code:
$_SESSION[firma] = $_POST[firma]; 
sondern
PHP-Code:
$_SESSION'firma' ] = $_POST'firma' ]; 
Ja es ist möglich Daten an mehreren Seiten zu verwenden, schließlich sind Sessions dafür gemacht.

Was du aber machst, ist, dass du jedesmal die Session Variablen überschreibst in deiner var.php. Zudem wird die 2 mal aufgerufen, was hat das für einen Sinn?
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."

Geändert von tomtaz (20.08.2008 um 14:20 Uhr).
tomtaz ist offline  
Alt 20.08.2008, 14:26  
Benutzer
 
Registriert seit: 01.07.2008
Beiträge: 72
groovemachine befindet sich auf einem aufstrebenden Ast
Standard

Darf ich fragen, wo es genügt, die var.php aufzurufen?

Aber schonmal tausend Dank für Eurer hilfe! Das rockt ja schon wie wild!!!


Viele Grüße
Tobi
groovemachine ist offline  
Alt 20.08.2008, 14:29  
Erfahrener Benutzer
 
Registriert seit: 20.08.2008
Beiträge: 119
sharp befindet sich auf einem aufstrebenden Ast
Standard

Warum machst du die Überprüfung überhaupt in einer 2 Datei? Und für ne Session sehe ich eigentlich auch kein Grund, da du ja wenn die Eingaben korrekt sind die einfach wegspeichern kannst.
sharp ist offline  
Alt 20.08.2008, 14:30  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

Ich würde sowieso erst mal überpürfen, ob ein Formular abgeschickt wurde und erst dann würde ich Variablen überschreiben, und auch dass nur, wenn diese gesetzt ist....
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline  
Alt 20.08.2008, 14:31  
Benutzer
 
Registriert seit: 01.07.2008
Beiträge: 72
groovemachine befindet sich auf einem aufstrebenden Ast
Standard

Ok! Da musst mir jetzt kurz auf die Sprünge helfen! Das habe ich jetzt nicht verstanden! Wie prüfe ich, ob was geschickt wurde???
groovemachine ist offline  
Alt 20.08.2008, 14:35  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von groovemachine Beitrag anzeigen
Ok! Da musst mir jetzt kurz auf die Sprünge helfen! Das habe ich jetzt nicht verstanden! Wie prüfe ich, ob was geschickt wurde???
Tja, das würde ich dir ja sagen, aber dein Formular ist nicht vollständig....
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline  
Alt 20.08.2008, 14:36  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

isset() bzw empty()
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline  
Alt 20.08.2008, 14:37  
Benutzer
 
Registriert seit: 01.07.2008
Beiträge: 72
groovemachine befindet sich auf einem aufstrebenden Ast
Standard

Ahso!! Momentchen:

PHP-Code:
<? session_start();
$_SESSION[s_id] = session_id();
?>
<?php
echo"<html>
<head><title>Administratorbereich Onlineportal</title>
<link rel='stylesheet' href='template.css' type='text/css'>
</head>
<body>
 <div id='main'> <br>
<table class='adresse'>
<form action='mailcheckreal.php' method='POST'>
<tr>
                 <td>Firma:</td>
                 <td><input type='text' name='firma' size='30' maxlength='32'></td>
<tr>
                 <td>Ansprachpartner:</td>
                 <td><input type='text' name='partner' size='30' maxlength='32'></td>
</tr>
<tr>
                 <td>PLZ / Ort:</td>
                 <td><input type='text' name='plz' size='8' maxlength='10'><input type='text' name='ort' size='30' maxlength='32'></td>
</tr>
<tr>
                 <td>Land:</td>
                 <td><input type='text' name='land' size='30' maxlength='32'></td>
</tr>
<tr>
                 <td>Telefon:</td>
                 <td><input type='text' name='tel' size='30' maxlength='32'></td>
</tr>
<tr>
                 <td>Fax:</td>
                 <td><input type='text' name='fax' size='30' maxlength='32'></td>
</tr>
<tr>
                 <td>Email:</td>
                 <td><input type='text' name='mail' size='30' maxlength='32'></td>
</tr>
<tr>
                 <td>&nbsp;</td>
                 <td>&nbsp;</td>
</tr>
<tr>
                 <td>Benutzer:</td>
                 <td><input type='text' name='benutzer' size='30' maxlength='32'></td>
</tr>
<tr>
                 <td>Passwort:</td>
                 <td><input type='text' name='passwort' size='30' maxlength='32'></td>
</tr>
<tr>
                 <td>Passwort check:</td>
                 <td><input type='text' name='passwort_2' size='30' maxlength='32'></td>
</tr>
 <tr>
  <td>Art:</td>
  <td><form>
                   <select name='art' size='1'>
        <option value=&nbsp; selected>---
        <option value=Art1>Art1
        <option value=Art2>Art2
        <option value=Stoff+Zutaten>Stoff und Zutaten
                   </select>
            <form></td>
 </tr>
</table>
<input class ='los' type='Submit' name='' value='Prüfen'>
 </form>
 </div>
 
 
 
 
</body>
</html>"
;
?>
groovemachine 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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Link Übergabe per $_GET['Variable'] vita PHP Tipps 2008 16 14.07.2008 15:19
Fehler bei Übergabe von Variablen aus MySQL in Firefox jensoweber Datenbanken 0 13.07.2008 13:14
GET Übergabe durch vorherigen md5 hash checken PHP Tipps 2005-2 4 27.10.2005 15:55
link - übergabe PHP Tipps 2005-2 9 24.09.2005 22:14
Übergabe via URL => Scriptfehler PHP Tipps 2005-2 9 24.09.2005 13:12
Parameter Übergabe seven-12 PHP Tipps 2005-2 0 05.08.2005 11:06
POST Problem: Übergabe von Formulardaten Asipak PHP Tipps 2005-2 19 19.07.2005 11:12
Übergabe Cookie unter PHP 5.0 nicht möglich ?? PHP Tipps 2005 1 20.03.2005 18:33
Übergabe aus Textarea PHP-Fortgeschrittene 2 01.03.2005 21:42
[Erledigt] Übergabe on Variablen über mehrere Seiten PHP Tipps 2005 13 01.02.2005 21:13
Übergabe Variablen sehr komischer Fehler PHP-Fortgeschrittene 6 16.11.2004 16:28
Variablen Übergabe in URL funktioniert nicht Server, Hosting und Workstations 3 28.10.2004 12:33
Parameter übergabe bei meta http-equiv="refresh MadCro PHP Tipps 2004 3 19.07.2004 11:46
[Erledigt] Session übergabe? PHP-Fortgeschrittene 4 07.07.2004 21:29
Probleme bei Übergabe von Parametern PHP Tipps 2004 21 17.06.2004 11:08


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:53 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