adrinator: 2 Fragen zu MySQL/PHP

Hallo!

Ich habe 2 Fragen zu einem Einloggsystem:
Ich habe drei Dateien (z.B. start.php, eingeloggt.php, inhalt2.php) die folgende Funktion haben:

start.php = Einloggen
Code:
<html>
<form method="post" action="eingeloggt.php">
<input type="text" name="name" value="name">
<input type="password" name="pw" value="Passwort">
</form>
</html>

eingeloggt.php = Daten werden überprüft
Code:
<?php
mysql_connect("XXX",
"XXX","XXX") or die
("Keine Verbindung moeglich");
mysql_select_db("XXX") or die
("Die Datenbank existiert nicht");

$abfrage = "SELECT * FROM XXX WHERE name LIKE $_POST["name"]";
$ergebnis = mysql_query($abfrage");
?>

Und dazu gleich meien erste Frage: Das $_POST["name"] in der Mysql-Anweisung ist falsch.
Aber wie gehört es richtig. Ich habe schon mehrere Tipps bekommen (die übrigens alle unterschiedlich waren) aber hab es noch nicht hinbekommen. Kann mir jemand konkret für dieses Beispiel sagen, wie es richtig gehört?

Ok kommen wir zur nächsten Frage:
Bei inhalt2.php soll getestet werden, ob der name="test" ist (DIe Dtaei wird mit der Datei eingloggt.php verlinkt). Aber wie teste ich das? SO auf jeden Fall nicht:

<?php
mysql_connect("XXX",
"XXX","XXX") or die
("Keine Verbindung moeglich");
mysql_select_db("XXX") or die
("Die Datenbank existiert nicht");

$abfrage = "SELECT * FROM XXX WHERE name LIKE 'test'";
$ergebnis = mysql_query($abfrage");
?>

Das kann nicht funktionieren, weil ich die Variable ja nicht per Post übergeben bekomme; dies geschieht eine Datei davor.
Wie bekomme ich dennoch die Variable heraus?

mfg
adrian

  1. Hallo,

    $abfrage = "SELECT * FROM XXX WHERE name LIKE $_POST["name"]";
    $ergebnis = mysql_query($abfrage");
    ?>

    Und dazu gleich meien erste Frage: Das $_POST["name"] in der Mysql-Anweisung ist falsch.
    Aber wie gehört es richtig.

    heute ist wohl der Tag der Nicht-mal-die-Grundlagen-in-der-Anleitung-lesen-Woller :-> Zu den Grundlagen kommt dann nur noch die Funktion mysql_real_escape_string().

    Bei inhalt2.php soll getestet werden, ob der name="test" ist

    Was soll "der name" sein? $_POST["name"]? Irgendwas anderes?

    (DIe Dtaei wird mit der Datei eingloggt.php verlinkt).

    Was meinst du mit "verlinkt"? Mit <a href="index2.php">?

    Das kann nicht funktionieren, weil ich die Variable ja nicht per Post übergeben bekomme; dies geschieht eine Datei davor.
    Wie bekomme ich dennoch die Variable heraus?

    Rate ich richtig, dass du den Namen des angemeldeten Benutzers auf weiteren Seiten haben willst? Verwende $_SESSION.

    Grüße, Hannes

    1. Genau das meinte ich.. Ihc glaube damit komme ich erstmal aus ;)
      Danke!

      mfg
      adrian