Probier mal unset(); für die einzelnen Variablen.
Meine Nerven sind super
Ich probiere heute nichts mehr, aber morgen gerne
Es funktioniert einwandfrei (bis jetzt^^)
Vielen Dank dir! *Gummibärchen reich*
Probier mal unset(); für die einzelnen Variablen.
Meine Nerven sind super
Ich probiere heute nichts mehr, aber morgen gerne
Es funktioniert einwandfrei (bis jetzt^^)
Vielen Dank dir! *Gummibärchen reich*
Ich merk schon ich überstrapaziere deine Nerven
Ich komme eh gerade nicht aus der Session raus xD
Auch nicht mit session_destroy(); am Ende..
hab die nun mal auf 1 min gesetzt mal schauen was passiert.
Aber ja, den Unterschied sehe ich nun auch Wenn das gleich klappt schließe ich den Editor zu für heute :x
Schokolade schmilzt so schnell
Wenn ich mich nicht arg irre ist es $_SESSION['eingeloggt']. Und da kannst du natürlich mit isset arbeiten.
Du überprüfst da ob das Ding true ist, dabei ist es gar nicht gesetzt - daraus resultiert die Notice. Also isset rein und gut
Das steht doch oben auch genauso
Mir geht es ja darum, das ich nicht weiß welche Variable ich da rein stecken soll im isset.
Deswegen die drei Punkte dort
Gummibärchen? Dann halt die..
Joar bin mir sicher.. oder soll ich mir nicht sicher sein? Du verwirrst mich gerade :p
Prinzipiell kannst du sie auch erstmal ignorieren - isset hilft, in einer sql-Abfrage aber nicht - da hilft es wenn es in einer if-Bedingung steht und gar nicht so weit kommt weil das Skript nur in die Bedingung geht wenn gesetzt Also if isset.. und darein die SQL.
Grüße
Wohin soll ich die Blumen schicken?
Hat geklappt.
Nur noch das eingeloggt NOTICE ist da.
Da wollte ich das auch einfach mit isset lösen.
Nur da habe ich mich gefragt.. Welche Variable brauch ich da?!
Da steht ja sonst $name.. Das kann ich da aber nicht nehmen, weil dann mein ganzes Formular weg ist
Zeile 27-28:
Wenn du einer Variable einen String zuweist, musst natürlich auch Anführungszeichen " " drum machen
NEIN muss ich nicht! *schmoll * .. verdammt es klappt
Jetzt habe ich noch drei Notices:
ZitatNotice: Undefined index: benutzername in /usr/export/www/vhosts/funnetwork/hosting/nippi01/test/login_test.html on line 28
Notice: Undefined index: benutzername in /usr/export/www/vhosts/funnetwork/hosting/nippi01/test/login_test.html on line 43
Notice: Undefined index: eingeloggt in /usr/export/www/vhosts/funnetwork/hosting/nippi01/test/login_test.html on line 65
Funktioniert es, wenn ich da mit isset arbeite? Oder kann ich das nicht in einer sql Abfrage?
<?php
require_once ('konfiguration.php');
$db_link
= mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
if ( $db_link )
{
echo 'Verbindung erfolgreich: ';
echo $db_link;
}
else
{
// hier sollte dann später dem Programmierer eine
// E-Mail mit dem Problem zukommen gelassen werden
die('keine Verbindung möglich: ' . mysql_error());
}
mysql_select_db( MYSQL_DATENBANK )
or die("Auswahl der Datenbank fehlgeschlagen");
?>
<?php
session_start();
$sql = SELECT * FROM userdaten
WHERE name='{$_POST['benutzername']}';
$db_erg = mysql_query($sql);
$zeile = mysql_fetch_array($db_erg);
$name = $zeile['name'];
$pw = $zeile['pw'];
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}
if ( $_POST['benutzername'] != "" AND $_POST['kennwort'] != "" )
{
// Kontrolle, ob Benutzername und Kennwort vorhanden
// diese werden i.d.R. aus Datenbank ausgelesen
if (
$_POST['benutzername'] == $name
AND
$_POST['kennwort'] == $pw
)
{
$_SESSION['benutzername'] = $_POST['benutzername'];
$_SESSION['eingeloggt'] = true;
echo "<b>einloggen erfolgreich</b>";
}
else
{
echo "<b>ungültige Eingabe</b>";
$_SESSION['eingeloggt'] = false;
}
}
if ( $_SESSION['eingeloggt'] == true )
{
// Benutzer begruessen
echo "<h1>Hallo ". $_SESSION['benutzername'] . "</h1>";
if(isset($_SESSION['benutzername']))
{
echo "Hallo ".$_SESSION['benutzername']." <a href=login_test.html>Logout</a>";
session_destroy();
}
}
else
{
// Einloggformular anzeigen
echo "<h1>Bitte loggen Sie sich ein</h1>";
echo '<form action="" method="POST" >';
echo '<p>Benutzername:<br />';
echo '<input type="text" name="benutzername" value="" />';
echo '<p>Kennwort:<br />';
echo '<input type="password" name="kennwort" value="" />';
echo '<p><input type="Submit" value="einloggen" />';
echo '</form>';
// Programm wird hier beendet, denn Benutzer ist noch nicht
// eingeloggt
exit;
}
?>
Alles anzeigen
Das ist der komplette Code..
Eben fehlte das stück oben für die DB
Also ich habe alles verstanden was du mir großzügigerweiße geschrieben hast
zu pkt. 1.
Notice: Undefined index: benutzername in /usr/export/www/vhosts/funnetwork/hosting/nippi01/test/login_test.html on line 33 -> wird wohl wegfallen, wenn ich das mit der Variable etc. mache
Notice: Undefined index: eingeloggt in /usr/export/www/vhosts/funnetwork/hosting/nippi01/test/login_test.html on line 55
zu pkt. 2.
$sql = SELECT * FROM userdaten
WHERE name='{$_POST['benutzername']}';
$db_erg = mysql_query( $sql );
$zeile = mysql_fetch_array($db_erg);
$name = $zeile['name'];
$pw = $zeile['pw'];
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}
Alles anzeigen
Ich habe das mal für die Variable "$name" gemacht. Muss ich für das PW auch nochmal genau das gleiche machen? WENN nein, dann bin ich gerade zu doof, weil mein Bildschirm weiß ist Aber das teste ich mal :p
@edit:
Habe nun herrausgefunden, dass es aufjedenfall an der Abfrage liegt.
$sql = SELECT * FROM userdaten
WHERE name='{$_POST['benutzername']}';
Wenn ich diese rausnehme, bekomme ich Fehlermeldungen, dass $zeile keinen Inhalt hat..
-So userdaten ist richtig geschrieben
-Verbindung zur DB besteht auch
-WHERE name .. name ist auch in meiner Tabelle drin.
Also ich habe das mal so eingegeben.
Hier mein ganzer Quellcode.
<?php
session_start();
session_cache_limiter(1);
$name = SELECT * FROM userdaten
WHERE name='{$_POST['benutzername']}';
$pw = SELECT * FROM userdaten
WHERE pw='{$_POST['kennwort']}';
$db_erg = mysql_query( $name );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}
if ( $_POST['benutzername'] != "" AND $_POST['kennwort'] != "" )
{
// Kontrolle, ob Benutzername und Kennwort vorhanden
// diese werden i.d.R. aus Datenbank ausgelesen
if (
$_POST['benutzername'] == $name
AND
$_POST['kennwort'] == $pw
)
{
$_SESSION['benutzername'] = $_POST['benutzername'];
$_SESSION['eingeloggt'] = true;
echo "<b>einloggen erfolgreich</b>";
}
else
{
echo "<b>ungültige Eingabe</b>";
$_SESSION['eingeloggt'] = false;
}
}
if ( $_SESSION['eingeloggt'] == true )
{
// Benutzer begruessen
echo "<h1>Hallo ". $_SESSION['benutzername'] . "</h1>";
if(isset($_SESSION['benutzername']))
{
echo "Hallo ".$_SESSION['benutzername']." <a href=login_test.html>Logout</a>";
session_destroy();
}
}
else
{
// Einloggformular anzeigen
echo "<h1>Bitte loggen Sie sich ein</h1>";
echo '<form action="" method="POST" >';
echo '<p>Benutzername:<br />';
echo '<input type="text" name="benutzername" value="" />';
echo '<p>Kennwort:<br />';
echo '<input type="password" name="kennwort" value="" />';
echo '<p><input type="Submit" value="einloggen" />';
echo '</form>';
// Programm wird hier beendet, denn Benutzer ist noch nicht
// eingeloggt
}
?>
Alles anzeigen
Jetzt habe ich zwei Probleme.
1. $_SESSION['eingeloggt'] == true
Da bekomme ich eine Fehlermeldung, dass "eingeloggt" nicht definiert sei.. Tu ich auch nirgends, allerdings ging es bei einem Tutorial auch, obwohl es nicht definiert wurde
2. Wenn ich das so eingebe, bekomme ich eine weiße Seite.. Formatierungsfehler?!
Wenn ich dieses Stück rausnehme, sehe ich wieder was :p
Das habe ich schon
Viel zu mühsam immer alles reinzuschreiben :p
if ( $_POST['benutzername'] != "" AND $_POST['kennwort'] != "" )
{
// Kontrolle, ob Benutzername und Kennwort vorhanden
// diese werden i.d.R. aus Datenbank ausgelesen
if (
$_POST['benutzername'] == $name
AND
$_POST['kennwort'] == $pw
)
{
$_SESSION['benutzername'] = $_POST['benutzername'];
$_SESSION['eingeloggt'] = true;
echo "<b>einloggen erfolgreich</b>";
}
else
{
echo "<b>ungültige Eingabe</b>";
$_SESSION['eingeloggt'] = false;
}
}
Alles anzeigen
Ich habe einfach DB Spalten angegeben $name und $pw .. natürlich klappt es nicht
Habe mir gerade noch paar Sachen durchgelesen..
Muss ich vielleicht sowas machen?
So jetzt hätte ich alle namen in $sql und könnte das mit einer IF Anweisung abfragen? Oder bin ich gerade total auf einem Holzweg? :p
Danke klappt super!
Jetzt versuche ich erstmal meine DB anzubinden und den benutzernamen und pw aus der DB auszulesen
Bist echt eine klasse Hilfe!
Dann schaue ich mir jetzt erstmal an, wie das mit der session funktioniert
Habe es geschafft, auch ohne deine Hilfe
Schon gestern Aber trotzdem vielen lieben Dank!
Es ist echt toll mal eine Community zu finden wo einem auch geholfen wird...
Als nächstes erstelle ich ein log in system.
Kann ich das so machen:
User melden sich an..
Dann vergleiche ich bei Benutzername und Passwort ob diese Einträge in der DB vorhanden sind und richtig sind und dann gebe ich die Anweisung via Action="" weiter?! :p
Danke für eure Antworten!
Mir ist nun auch in den Sinn gekommen, den Wert in einer DB speichern zulassen.
<html>
<head>
<title>blah</title>
<?php
require_once ('konfiguration.php');
$db_link
= mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
if ( $db_link )
{
echo 'Verbindung erfolgreich: ';
echo $db_link;
}
else
{
// hier sollte dann später dem Programmierer eine
// E-Mail mit dem Problem zukommen gelassen werden
die('keine Verbindung möglich: ' . mysql_error());
}
mysql_select_db( MYSQL_DATENBANK )
or die("Auswahl der Datenbank fehlgeschlagen");
?>
<?php
if(!isset($_POST['counter']))
$int_count = 1;
else
$int_count = intval($_POST['counter']) + 1;
?>
<form method="POST">
<input type="hidden" name="counter" value="<?=$int_count?>" />
<?php echo $int_count ?>
<input type="hidden" name="versteckt">
<input type="submit" name="plus" value="Erhöhen">
</form>
<?php
$sql = "
INSERT INTO `userdaten`
(
`id` , `name` , `email` , `zahlen`
)
VALUES
(
NULL , 'Axel', 'qqq@qqq.de', '$int_count'
);
";
$db_erg = mysql_query($sql)
or die("Anfrage fehlgeschlagen: " . mysql_error());
?>
<?php
$sql = "
UPDATE userdaten SET zahlen=$int_count;
";
$db_erg = mysql_query($sql)
or die("Anfrage fehlgeschlagen: " . mysql_error());
?>
</body>
</html>
Alles anzeigen
Absolut unübersichtlich, aber es macht was ich will..
Außer immer wieder eine weitere Spalte mit ID, Name etc. .. anlegen
Aber das werde ich noch auseinander friemeln, damit ich schonmal den Log in Bereich habe
Mit der Session ist auch eine coole Idee
Allerdings muss der Wert für immer da sein
Danke euch!
Hallo
Ich will einen Button programmieren, welcher beim drücken plus eins erzeugt.
Also ganz einfach 1,2,3,4,5...
Also ich hatte es schonmal mit GET versucht, allerdings steht dann in der Adresszeile, counter=1,[2,3,4,5 ..] usw.
So kann man ja schnell die Anzeige manipulieren und das soll nicht der Sinn der Sache sein.
Also habe ich mir überlegt, wie ich es mit POST hinbekomme, allerdings scheitere ich gerade an allem..
Könnte mir da jemand helfen? Oder gibt es einfachere Methoden?
<html>
<head>
<title>blah</title>
<?php
if(!isset($_POST['counter']))
$int_count = 1;
else
$int_count = intval($_POST['counter']) + 1;
?>
<form>
<?php echo $int_count ?>
<input type="submit" name="counter" value="Erhöhen">
</form>
</body>
</html>
Alles anzeigen
Noch so nebenbei.
Wenn ich es irgendwann mal zum laufen gebracht habe, möchte ich den counter in eine Datenbank speichern.
Schonmal vielen Dank für eure Hilfe!
Lg
HTML-Seminar.de - mit Videos zum schnellen Lernen, wie man eine Website selbst erstellt.