php.de

ZurĂĽck   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.02.2005, 20:03  
Gast
 
Beiträge: n/a
Standard Session Problem

Hallo,

Ich hab nen kleines Problem. Man kann sich auf meiner Seite in nen Memberbereich einloggen.
Und dort soll man was in ein Gästebuch schreiben können. Bis dahin gehts gut. Man trägt alles
ein ins Formular. und dann beim senden gibs Probleme. Das hängt irendwie mit der Session
zusammen denn ich bin ausgelockt und auf der Startseite. Im Explorer steht dies oben:

http://localhost/login/index.php?Nam...bmit=Speichern

Das Formular heisst insert.php und es wird an sich selbst geschickt.



Code:
<?php

if(isset($_POST['submit']) AND "Speichern" == $_POST['submit']) {
if(!isset($_POST['Name'], $_POST['Email'],
		$_POST['Homepage'], $_POST['Text'])) {
	die("Bitte Benutzen sie das Formular aus dem Gästebuch\n");
}
if(trim($_POST['Name']) == "") {
	die("Bitte geben sie einen Namen ein");
}
if(trim($_POST['Text']) == "") {
	die("Bitte geben sie einen Text ein");
}

$sql = "INSERT INTO gast
			(Name, Email, Homepage, Inhalt, Datum)
		VALUES
			('".addslashes(htmlspecialchars($_POST['Name']))."',
			'".addslashes(htmlspecialchars($_POST['Email']))."',
			'".addslashes(htmlspecialchars($_POST['Homepage']))."',
			'".addslashes(htmlspecialchars($_POST['Text']))."',
			NOW())";
mysql_query($sql) OR die(mysql_error());
echo "

Vielen Dank fĂĽr ihren Eintrag.</p>\n";
echo "

<a href=\"index.php?section=admin&amp;site=gb&amp;".SID."\">Zurück ins Gästebuch</a></p>\n";
}

echo "<head>
       <title>Gästebuch</title>
       <link rel=\"stylesheet\" type=\"text/css\" href=\"page.css\">
</head>
<body>
<h2>Eintrag ins Gästebuch hinzufügen</h2>
<form action=\"index.php?section=admin&amp;site=insert&amp; method=\"post\" class=\"formular\">
    <table class=\"tabelle\">
        

        <tr>
        <td><label for=\"name\">Name:</label></td>
        <td><input type=\"text\" name=\"Name\" id=\"name\" /></td>
        </tr>
        <tr>
        <td><label for=\"email\">Email:</label></td>
        <td><input type=\"text\" name=\"Email\" id=\"email\" /></td>
        </tr>
        <tr>
        <td><label for=\"homepage\">Homepage:</label></td>
        <td><input type=\"text\" name=\"Homepage\" id=\"homepage\" /></td>
        </tr>
        <tr>
        <td><label for=\"beitrag\">Beitrag:</label></td>
        <td><textarea rows=\"8\" name=\"Text\" id=\"beitrag\"></textarea></td>
        </tr>
        <tr>
        <td colspan=\"2\">
         

            <input id=\"send\" type=\"submit\" name=\"submit\" value=\"Speichern\" />
            <input type=\"reset\" name=\"submit\" value=\"ZurĂĽcksetzen\" /></td>
		</tr>
    </table>
	

</form>

</body>
</html>;"

?>
Ich hoffe ihr könnt mit dem Skript was anfangen ohne die anderen. Irgendwie wie
wird die erste abfrage schon garnicht bearbeitet.

if(isset($_POST['submit']) AND "Speichern" == $_POST['submit']) {


und die Session auch nicht übergeben da mein Menu welches von der Session SID abhängig ist
auch verschwindet.

Ich hoffe es kann mir jemand helfen. Bin schon echt verzweifelt und blind heut.

MFG

Lara
 
Sponsor Mitteilung
PHP Code FlĂĽsterer

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

Alt 19.02.2005, 20:17  
Erfahrener Benutzer
 
Registriert seit: 25.02.2004
Beiträge: 1.524
Orolhawion
Standard

haste die session denn auf der seite auch gestartet? ich seh da kein session_start(); ...
__________________
"die Mitte des Textes kann ja theor. mitten in einem Text liegen"

http://www.jagr.de/
Orolhawion ist offline  
Alt 20.02.2005, 00:41  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 104
ajo_silent
Standard

Beim Befehl
Code:
if(isset($_POST['submit']) AND "Speichern" == $_POST['submit'])
wird die Bedingung nicht wahr, weil du die Variable "submit" nicht per POST, sondern per GET überträgst.
Grund: Im Formular <form ... > hast du bei method bestimt "GET" eingetragen. Da muss POST stehen.
Formulardaten überträgt man in der Regel per POST, aus zwei Gründen:
1. Der Benutzer muss nicht alles mitkriegen, was übertragen wird. Außerdem muss man die URL nicht unnötig aufblähen
2. per URL (also per GET) kann man nur eine begrenze Anzahl an Zeichen mitsenden. Wenn du jetzt den ganzen Text der Textbox dort reinsteckst, ĂĽberschreitest du dieses Limit sehr schnell
ajo_silent ist offline  
Alt 20.02.2005, 01:06  
Erfahrener Benutzer
 
Registriert seit: 25.02.2004
Beiträge: 1.524
Orolhawion
Standard

das ist ja alles schon richtig, was du da so schreibst, bis auf vielleicht das hier:
Zitat:
Zitat von ajo_silent
Grund: Im Formular <form ... > hast du bei method bestimt "GET" eingetragen. Da muss POST stehen.
ich les da method=\"post\"...
Code:
<form action=\"index.php?section=admin&amp;site=insert&amp; method=\"post\" class=\"formular\">
aber was hat das mit dem problem zu tun?

vielleicht nochn kleiner tip an den autor:
diese syntax
PHP-Code:
<?php
echo '<form action="index.php?section=admin&site=insert& method="post" class="formular">';
?>
erspart dir die lästige escaperei der " mit \ (und nicht nur der ")
desweiteren solltest du das was in der action steht auch wieder mit " schlieĂźen!
__________________
"die Mitte des Textes kann ja theor. mitten in einem Text liegen"

http://www.jagr.de/
Orolhawion ist offline  
Alt 20.02.2005, 22:24  
Erfahrener Benutzer
 
Registriert seit: 09.09.2004
Beiträge: 716
PHP-Kenntnisse:
Anfänger
Kort zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Also bei mir wird komischerweise bei dem Link vom OP (http://localhost/login/index.php?Nam...bmit=Speichern) Error 404 angezeigt ^^
__________________
"Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." - Linus Torvalds, 1996
Kort ist offline  
Alt 20.02.2005, 22:25  
Erfahrener Benutzer
 
Registriert seit: 25.02.2004
Beiträge: 1.524
Orolhawion
Standard

Zitat:
Zitat von Kort
Also bei mir wird komischerweise bei dem Link vom OP (http://localhost/login/index.php?Nam...bmit=Speichern) Error 404 angezeigt ^^
da wunderst du dich jetzt nicht im ernst, ne?!
__________________
"die Mitte des Textes kann ja theor. mitten in einem Text liegen"

http://www.jagr.de/
Orolhawion ist offline  
Alt 20.02.2005, 22:28  
Erfahrener Benutzer
 
Registriert seit: 09.09.2004
Beiträge: 716
PHP-Kenntnisse:
Anfänger
Kort zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Zitat von Kort
^^
__________________
"Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." - Linus Torvalds, 1996
Kort 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] Session Problem karina_02 PHP Tipps 2008 6 18.05.2008 22:37
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
Problem mit Session Charly Shop Sui PHP Tipps 2006 13 25.08.2006 17:08
Und noch ein Session Problem... Weyoun PHP Tipps 2006 9 27.02.2006 22:17
Problem mit Firefox und Session PHP Tipps 2005-2 5 25.08.2005 01:14
problem mit session LA-Finest PHP Tipps 2005-2 13 18.08.2005 15:54
Session wieder aufnehmen; Problem mit GET Jacks Rache PHP-Fortgeschrittene 9 12.08.2005 14:32
[Erledigt] Problem mit Session PHP Tipps 2005-2 1 06.08.2005 19:07
Problem mit Session PHP Tipps 2005-2 13 10.07.2005 18:20
seltsames php und session problem netti PHP-Fortgeschrittene 16 01.06.2005 17:01
[Erledigt] Hilfe...PhpBB Session Problem!! PHP Tipps 2004-2 2 15.12.2004 18:28
Session Problem beim Login PHP Tipps 2004-2 6 15.12.2004 09:37
[Erledigt] PHP Session Problem, dringend! PHP-Fortgeschrittene 17 21.10.2004 21:15
Session wird falsch wieder aufgenommen - Problem mit Session PHP Tipps 2004 2 16.10.2004 14:30
session problem PHP Tipps 2004 2 22.07.2004 08:39


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