MySQL String aus lesen problem

  • Hallo,


    undzwar möchte ich das die Email ausgelesen wird die in der Tabelle steht. Aber jetzte steht dort nur EMAIL:


    code:

  • Mit error_logging(E_ALL) hättest du wahrscheinlich ausgegeben bekommen, dass die Variable $money undefiniert ist.
    $money ist nur innerhalb der while() Schleife gültig, außerhalb dürfte sie nicht mehr existieren. Außerdem ist $money kein guter Variablenname für eine E-Mail Adressen ;)


    PHP
    mysql_real_escape_string($money);


    Wozu ?


    //Edit: Dann ließ es lieber nochmal nach :p
    http://www.php.net/manual/de/f…ql-real-escape-string.php
    Auslesen tust du eigentlich mit "mysql_query" und "mysql_fetch_assoc" in deinem Beispiel.

  • Ich habe es nun so: aber es geht immer noch nicht: <div id="ForumAccount">

    <?php
    $username = $_SESSION['Name'];
    $query = mysql_query("SELECT * FROM accounts WHERE Name ='$username'");
    while($row = mysql_fetch_assoc($query))
    {
    $money = sanitize($_POST['EMAIL']);

    }
    ?>
    <span class="param">EMAIL: <?php $money ?></span>
    <?php



    ?>
    </div>


    function sanitize($string)
    {
    $string = strip_tags($string);
    $string = mysql_real_escape_string($string);
    return $string;
    }


    // wie soll ich es den richtig machen

  • Mit error_logging(E_ALL) hättest du wahrscheinlich ausgegeben bekommen, dass die Variable $money undefiniert ist.
    $money ist nur innerhalb der while() Schleife gültig, außerhalb dürfte sie nicht mehr existieren. Außerdem ist $money kein guter Variablenname für eine E-Mail Adressen ;)


    Du könntest:
    a) <span class="param">EMAIL: <?php $money ?></span> in die while Schleife packen.
    b) $money außerhalb der while-Schleife als Variable deklarieren. ( ähnlich wie $username oder $query )

    Spoiler anzeigen
    Eine while-Schleife brauchst du auch nicht unbedingt, lasse ich jetzt aber mal außen vor.

    Zu sanitize:
    sanitize macht auch nur wenig Sinn an dieser Stelle. Du machst es VOR einem SQL Kommando und nicht NACHDEM du bereits die Daten erhalten hast.


    //Edit:

    PHP
    $money = sanitize($_POST['EMAIL']);


    Ach komm, wieso $_POST ? $row war doch richtig :/ Alles steht in $row:

    PHP
    echo "<pre>",print_r($row),"</pre>";
  • Ich habs schon hinbekommen nur jetzte sollte eigentlich eine E-Mail verschickt werden an den User der die bestimmte email hat. Ich habe dann mal meine richtige email angegeben aber ich bekommen keine email code:
    <?php
    include("mysql_connect");
    if(isset($_SESSION['Name']))
    {
    $username = $_SESSION['Name'];
    $query = "SELECT * FROM accounts WHERE Name ='$username'";
    $ResultIN = mysql_query($query);
    while($RowIN = mysql_fetch_array($ResultIN))
    {
    ?>
    <span class="param">Dein Kennwort wurde an folgende E-Mail gesendet: <br><br>
    <font color="#FF0000">
    <?= mysql_escape_string($RowIN['EMAIL'])?>
    </font>
    </span>
    <?
    $empfaenger = mysql_escape_string($RowIN['EMAIL']); //Mailadresse
    $absender = "ich@versuchsratte.de";
    $betreff = "PHP-Mail-Test";
    $mailtext = "Inhalt einer Mail zum Test von PHP";
    $antwortan = "ich@versuchsratte.de";

    mail( $empfaenger,
    $betreff,
    $mailtext,
    "From: $absender\nReply-To: $antwortan");

    echo "Mail wurde gesendet!";
    }
    ?>
    <?php


    }
    ?>
    </div>