Fahrtenbuch genial!
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 05.05.2002, 12:15   #1
TP-Senior
 
Benutzerbild von quixxz
 
Registriert seit: Mar 2002
Ort: Hamburg City
quixxz macht alles soweit korrekt

Formularfelder werden scheinbar nicht übergeben


Habe ein Problem mit den Übergabefeldern in einem Formular.

Vorweg:

Apache ist installiert
PHP ist installiert
MySql ist installiert

phpmyadmin ist installiert.

Ich habe mit phpadmin eine DB und Table angelegt.


So nun zu dem Problem,

wenn ich meine Eingabefelder fülle und abschicke, dann bekomme ich aus meinem verify.php die Meldung
"Sorry, aber dieser Name ist leider nicht bekannt !", obwohl der Name in der DB existiert!

der connect scheint aber zu laufen, da keine fehlermeldung ausgegeben wird!


was kann das sein? online, beim provider läufts? nur auf meinem rechner nicht!


hier der code:

login.htm

<html>
<head>
<title>login</title>
</head>
<body>
<form action="verify.php" method="post">
Username : <br>
<input type="text" name="username" size="20" maxlength="20"><br>
Passwort : <br>
<input type="password" name="passwort" size="20" maxlength="20"><br>
<input type="submit" name="absenden" value="einloggen">
</form>
</body>
</html>

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

verify.php

<?php
session_start();
include('var.inc.php');
$conn = @mysql_connect($dbserver,$dbuser,$dbpass);
if (!$conn)
{
die ("Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !");
}
mysql_select_db($dbname,$conn);
$query = "SELECT pass, level FROM zugriff WHERE name = '".$username."'";
$result = mysql_query($query,$conn);
$zeileholen = mysql_fetch_array($result,MYSQL_ASSOC);
$verschl = md5($passwort);
mysql_close($conn);
if (!$zeileholen)
{
die ("Sorry, aber dieser Name ist leider nicht bekannt !");
}
if ($zeileholen["pass"] <> $verschl)
{
die ("Sorry, aber dieses Passwort passt nicht zum Usernamen !!<br><a href='index.htm' target='_self'>Loginseite</a>");
}
$level = $zeileholen["level"];
session_register('username');
session_register('level');
header ("Location:admin.php");
?>
quixxz ist offline   Mit Zitat antworten


Alt 05.05.2002, 12:27   #2
TP-Supporter
 
Benutzerbild von Howie Munson II
 
Registriert seit: May 2001
Ort: Berlin
Howie Munson II macht alles soweit korrekt
ändere mal diese Zeile

$query = "SELECT pass, level FROM zugriff WHERE name = '".$username."'";

in

$query = "SELECT pass, level FROM zugriff WHERE name '$username'";

( also '$username' und dann das anführungszeichen)

so ist die Syntax falsch
Howie Munson II ist offline   Mit Zitat antworten
Alt 05.05.2002, 12:28   #3
TP-Specialist
 
Benutzerbild von Jürgen
 
Registriert seit: Feb 2002
Ort: Wien
Jürgen bringt sich richtig einJürgen bringt sich richtig ein
Hi quixxz,

da fällt mir als erstes die PHP-Version ein. Hast du vielleicht lokal die Version 4.2 installiert? Diese stellt nämlich die Variablen nach dem POST standardmäßig nicht mehr als Feldnamen zur Verfügung sondern nur mehr in den Arrays $_POST bzw. im "alten" $HTTP_POST_VARS.

Wenn du trotzdem in der neuen Version die Variablen automatisch zuordnen lassen willst, musst du in der php.ini die register_globals auf "on" stellen. Ist aber aus Sicherheitsgründen nicht empfehlenswert und im Hinblick auf zukünftige Kompatibilität mit PHP 5 sollte man schon auf die globalen Arrays umsteigen.

Gruß,
Jürgen
Jürgen ist offline   Mit Zitat antworten
Alt 05.05.2002, 12:44   #4
TP-Senior
 
Benutzerbild von quixxz
 
Registriert seit: Mar 2002
Ort: Hamburg City
quixxz macht alles soweit korrekt
@ Jürgen

ne, benutze PHP 4.1.2, hab aber trotzdem mal register_globals mal auf on gesetzt. Funzt leider nicht

@Howie Munson2

Also, das Script läuft so online beim Provider.
Habe vorsichtshalber mal deine Syntax probiert. Funzt leider nicht
quixxz ist offline   Mit Zitat antworten
Alt 05.05.2002, 13:08   #5
TP-Specialist
 
Benutzerbild von Jürgen
 
Registriert seit: Feb 2002
Ort: Wien
Jürgen bringt sich richtig einJürgen bringt sich richtig ein
Also wenn du register_globals auf on gesetzt hast, dann war sie vorher auf "off" - richtig? Das bedeutet, dass das Skript gar nicht funktionieren konnte!

Starte den Apache Server oder besser den ganzen Rechner neu und schau dann nochmal - wenn du das nicht schon getan hast
Jürgen ist offline   Mit Zitat antworten
Alt 05.05.2002, 13:12   #6
TP-Senior
 
Benutzerbild von quixxz
 
Registriert seit: Mar 2002
Ort: Hamburg City
quixxz macht alles soweit korrekt
sie war vorher mit ";" auskommentiert!


hab n neustart gemacht, klappt nicht.


soll die zeile so aussehen?

- register_globals = on [Security, Performance]
; Global variables are no longer registered for input data (POST, GET, cookies,
; environment and other server variables). Instead of using $foo, you must use (...)
quixxz ist offline   Mit Zitat antworten
Alt 05.05.2002, 13:33   #7
TP-Specialist
 
Benutzerbild von Jürgen
 
Registriert seit: Feb 2002
Ort: Wien
Jürgen bringt sich richtig einJürgen bringt sich richtig ein
Die Zeile sollte einfach so aussehen:

register_globals = On

Besser wäre es, du gehst den Weg mit dem $_POST-array. Dazu brauchst du auch die register_globals nicht zu ändern.
Jürgen ist offline   Mit Zitat antworten
Alt 05.05.2002, 13:50   #8
TP-Senior
 
Benutzerbild von quixxz
 
Registriert seit: Mar 2002
Ort: Hamburg City
quixxz macht alles soweit korrekt
@ Jürgen

Funzt nicht, hab mal meine php.ini und httpd.conf angehängt. Wenn du Zeit hast, kannste mal drübergucken, vielleicht endeckst du ja den Fehler.

Ich denke auch, das es irgendwie daran liegt.


Ps: wie geht das mit $Post-Array? Bin mit PHP noch nicht so fit

Gruß

Quixxz
Angehängte Dateien
Dateityp: zip conf.zip (23,1 KB, 9x aufgerufen)
quixxz ist offline   Mit Zitat antworten
Alt 05.05.2002, 14:18   #9
TP-Specialist
 
Benutzerbild von Jürgen
 
Registriert seit: Feb 2002
Ort: Wien
Jürgen bringt sich richtig einJürgen bringt sich richtig ein
An und für sich ist die Groß- und Kleinschreibung nur bei den Schlüssenwörtern selbst relevant, bei den Werten (On/Off) ist PHP nicht case-sensitive. Trotzdem würde ich "On" groß schreiben, versuche das noch.

Irgendwo vor die Zeile
$query = "SELECT pass, level FROM zugriff WHERE name = '".$username."'";

schreibst du:
PHP-Code:
$username $_POST['username'];
$passwort $_POST['passwort']; 
Jürgen ist offline   Mit Zitat antworten
Alt 05.05.2002, 14:33   #10
TP-Senior
 
Benutzerbild von quixxz
 
Registriert seit: Mar 2002
Ort: Hamburg City
quixxz macht alles soweit korrekt
klappt leider auch nicht


hab mir mal mit echo versucht den usernamen ausgeben zu lassen.
Ist blank!

da steht tatsächlich nichts drin! Ich verzweifle!
quixxz ist offline   Mit Zitat antworten
Alt 05.05.2002, 20:44   #11
TP-Senior
 
Benutzerbild von quixxz
 
Registriert seit: Mar 2002
Ort: Hamburg City
quixxz macht alles soweit korrekt

Bitte nochmal um eure Hilfe in dieser Sache.Bitte


Warum werden die Formulareingaben nicht übergeben?

hier nochmal ein bsp:


<form action="verify.php" method="post">
Username : <br>
<input type="text" name="username" size="20" maxlength="20"><br>
Passwort : <br>
<input type="password" name="passwort" size="20" maxlength="20"><br>
<input type="submit" name="absenden" value="einloggen">



verify.php

<?php
echo "$username";
echo "$password";
?>



woran kann das liegen?

PHP 4.1.2 installiert
Apache läuft auch!


Bitte um Hilfe, komme nicht weiter!


Danke Quixxz
quixxz ist offline   Mit Zitat antworten
Alt 05.05.2002, 21:07   #12
TP-Specialist
 
Benutzerbild von Jürgen
 
Registriert seit: Feb 2002
Ort: Wien
Jürgen bringt sich richtig einJürgen bringt sich richtig ein
Mit dem Skript ist nichts verkehrt, das läuft bei mir lokal. Schau mal, ob $_POST bei Dir auch leer ist, oder ob dort die Variablen ordnungsgemäß gespeichert sind:

Zum Abfragen des Arrays:
PHP-Code:
print_r($_POST); 
in die verify.php schreiben.

Wenn $_POST auch leer ist, dann hats meiner Ansicht nach etwas mit der PHP-Installation.
Jürgen ist offline   Mit Zitat antworten
Alt 05.05.2002, 21:15   #13
TP-Senior
 
Benutzerbild von quixxz
 
Registriert seit: Mar 2002
Ort: Hamburg City
quixxz macht alles soweit korrekt
hi Jürgen,

bei verify.php

<?php
$username = $POST['username'];
$passwort = $POST['passwort'];
echo "$username";
echo "$passwort";
print_r($_POST);
?>

erhalte ich folgende ausgabe:

Array ( [username] => fr [passwort] => fg [absenden] => Login )


Was bedeutet das?
quixxz ist offline   Mit Zitat antworten
Alt 05.05.2002, 22:21   #14
TP-Specialist
 
Benutzerbild von Jürgen
 
Registriert seit: Feb 2002
Ort: Wien
Jürgen bringt sich richtig einJürgen bringt sich richtig ein
Das bedeutet, dass die Variablen korrekt in dem array gespeichert sind -> wunderbarst

Ein eindimensionales Array besteht immer aus einem Schlüssel/Wertepaar. Der Schlüssel [username] hat z. B. den Wert "fr", der Schlüssel [passwort] den Wert "fg". Du kannst jetzt diese Schlüssel/Wertepaare in deinem Skript verify.php in Variablen umwandeln - wie ich schon geschrieben habe mit:
PHP-Code:
$username $_POST['username'];
$passwort $_POST['passwort']; 
Es ist in jedem Fall zu empfehlen gleich mit dieser Methode zu arbeiten, denn spätestens in PHP5 funktioniert die Methode mit den global registrierten Variablen nicht mehr. Also viel Glück und schau mal, ob du es so zum Laufen bringst!
Jürgen ist offline   Mit Zitat antworten
Alt 06.05.2002, 08:17   #15
TP-Senior
 
Benutzerbild von quixxz
 
Registriert seit: Mar 2002
Ort: Hamburg City
quixxz macht alles soweit korrekt
hi jürgen!!
hmmm, aber in dem Skript, siehe oben, da gebe ich doch den Usernamen u. Passwort mit "Echo" aus! Leider war nichts zu sehen! Die Ausgabe war wohl Blank, oder gibt man die Variabelen mit dem $_Post anders aus bzw. weiter???

Gruß

Quixxz
quixxz ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Formularfelder werden scheinbar nicht übergeben Formularfelder werden scheinbar nicht übergeben
« zufälige auswahl von datensätzen | JpGraph »

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

Erweiterte Suche
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67