• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Mailfunktion für eingeloggte user

Du siehst nach dem Einloggen also eine weiße Seite?
Schau mal auch in den Quelltext (HTML im Browser), ob da was ist.
 
Werbung:
ne nicht wenn ich mich einlogge ... da steht erst : Du bist eingeloggt als basti [link]geheim.php[/link]
und wenn ich dann auf die geheim.php gehe dann sollte ich ja eigentlich die mail sehen die ich vorher abgeschickt hab ... aber da steht nur du bist eingelogt mehr nicht ... hier nochmal der code :
PHP:
<?php session_start(); ?>
<html>
<head>
<title>Test</title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<?php 
if(isset($_SESSION['username'])) { 
 $verbindung = mysql_connect("localhost", "root" , "") or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); 
 mysql_select_db("user") or die ("Datenbank konnte nicht ausgewählt werden"); 
 $q = mysql_query('SELECT absender, betreff, nachricht FROM `'.($_SESSION['username']).'` LIMIT 1') or die(mysql_error());
 while($row = mysql_fetch_array($q)) {
  echo  '<div id="btn" style="cursor:pointer;"> von :'.$row['absender']. 'Betreff :' .$row['betreff'].'</div> 
    <div class="box_blue" id="slideToggleBox" style="display: none; ">'.$row['nachricht'].'</div> 
    <script>$("#btn").click(function () {$("#slideToggleBox").slideToggle("slow");});</script> ';
  echo  '<a href="sendmail.html">Emial senden<a>';
 
 echo "Du bist eingeloggt!";
    } 
} else {
 echo "Du bist nicht eingeloggt";
}
?> 
</body>
</html>
 
Werbung:
PHP:
...
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
...
<?php 
 $q = mysql_query('SELECT absender, betreff, nachricht FROM `'.($_SESSION['username']).'`') or die(mysql_error());

Den type solltest du noch angeben und 'Limit 1' im Query entfernen, da sonst nur ein Datensatz ausgeliefert wird.
 
PHP:
<?php session_start(); ?>
<html>
<head>
<title>Test</title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<!-- CSS Stylesheet Datei einbinden -->
</head>
<body>

<?php if(isset($_SESSION['username']) && !empty($_SESSION['username'])) { # Wenn "eingeloggt"

    mysql_connect('localhost', 'root' , "") or die('Verbindung zur Datenbank konnte nicht hergestellt werden'); 
    mysql_select_db('user') or die('Datenbank konnte nicht ausgewählt werden'); 

    $q = mysql_query('SELECT absender, betreff, nachricht FROM `'.$_SESSION['username'].'`') or die(mysql_error());
 
while($row = mysql_fetch_array($q)) { ?>
<div id="btn" style="cursor:pointer;"> 
        <p>von <?php echo $row['absender']; ?></p>
        <p>Betreff: <?php echo $row['betreff']; ?></p>
        </div> 
        <div class="box_blue" id="slideToggleBox" style="display: none; ">
        <?php echo $row['nachricht']; ?>
        </div>
        <script>$("#btn").click(function () {$("#slideToggleBox").slideToggle("slow");});</script>
          <p><a href="sendmail.html">E-Mail senden</a></p>
<?php  } # while Schleife
} else { # $_SESSION['username']
     echo 'Du bist nicht eingeloggt!'; # header('Location: http://zumeinerloginseiteweiterleiten.de'); exit; # Optional
}
?>
</body></html>
Erstmal schön sortieren und langsam von vorne.
Du konntest dich gestern noch einloggen. Was hast du am anderen Script geändert? Zeig mal.
Wenn da steht, du bist nicht eingeloggt, heißt das, dass es keine $_SESSION['username'] gibt. Also muss es schon irgendwie daran liegen.

Und du setzt Klassen ein, die nirgendswo definiert sind.
 
Werbung:
hmm jetzt gehts wida ... ich hab das session $username garnicht gesetzt ... also aber der hintergrund is jetzt komplett weiß da steht GARnichts ...
 
hmm jetzt gehts wida ... ich hab das session $username garnicht gesetzt ... also aber der hintergrund is jetzt komplett weiß da steht GARnichts ...

Hast du denn überhaupt Datensätze? Wenn Keine Datensätze in der DB sind, können keine abgefragt werden und somit bleibt die Seite auch weiß. Wie sieht den der Seitequelltext aus? Ist der auch komplett leer?

Funktioniert es so? ->

PHP:
<?php session_start(); ?>
<html>
<head>
<title>Test</title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<!-- CSS Stylesheet Datei einbinden -->
</head>
<body>

<?php if(isset($_SESSION['username']) && !empty($_SESSION['username'])) { # Wenn "eingeloggt"

    mysql_connect('localhost', 'root' , "") or die('Verbindung zur Datenbank konnte nicht hergestellt werden'); 
    mysql_select_db('user') or die('Datenbank konnte nicht ausgewählt werden'); 

    $q = mysql_query('SELECT absender, betreff, nachricht FROM `'.$_SESSION['username'].'`') or die(mysql_error());
 
while($row = mysql_fetch_object($q)) { ?>
<div id="btn" style="cursor:pointer;"> 
        <p>von <?php echo $row->absender; ?></p>
        <p>Betreff: <?php echo $row->betreff; ?></p>
        </div> 
        <div class="box_blue" id="slideToggleBox" style="display: none; ">
        <?php echo $row->nachricht; ?>
        </div>
        <script>$("#btn").click(function () {$("#slideToggleBox").slideToggle("slow");});</script>
          <p><a href="sendmail.html">E-Mail senden</a></p>
<?php  } # while Schleife
} else { # $_SESSION['username']
     echo 'Du bist nicht eingeloggt!'; # header('Location: http://zumeinerloginseiteweiterleiten.de'); exit; # Optional
}
?>
</body></html>
 
Zuletzt bearbeitet:
PHP:
<?php session_start(); ?>
<html>
<head>
<title>Test</title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<!-- CSS Stylesheet Datei einbinden -->
</head>
<body>

<?php if(isset($_SESSION['username']) && !empty($_SESSION['username'])) { # Wenn "eingeloggt"

    mysql_connect('localhost', 'root' , "") or die('Verbindung zur Datenbank konnte nicht hergestellt werden'); 
    mysql_select_db('user') or die('Datenbank konnte nicht ausgewählt werden'); 

    $q = mysql_query('SELECT absender, betreff, nachricht FROM `'.$_SESSION['username'].'`') or die(mysql_error());
 $anzahl = mysql_num_rows($q);
if($anzahl > 0) {
while($row = mysql_fetch_object($q)) { ?>
<div id="btn" style="cursor:pointer;"> 
        <p>von <?php echo $row->absender; ?></p>
        <p>Betreff: <?php echo $row->betreff; ?></p>
        </div> 
        <div class="box_blue" id="slideToggleBox" style="display: none; ">
        <?php echo $row->nachricht; ?>
        </div>
        <script>$("#btn").click(function () {$("#slideToggleBox").slideToggle("slow");});</script>
          <p><a href="sendmail.html">E-Mail senden</a></p>
<?php  } # while Schleife
} else echo 'Keine Datensätze!';
} else { # $_SESSION['username']
     echo 'Du bist nicht eingeloggt!'; # header('Location: http://zumeinerloginseiteweiterleiten.de'); exit; # Optional
}
?>
</body></html>

Oder so?
 
Werbung:
ja thx so gehts ;=) nur das doofe is wenn man garkeine mail hat kommt ein mysql error ... kann ich da irgendwie macchen das wenn kein db eintarg in der tabelle is das da dann steht : keine mail vorhanden ...
geht sowas ? (ja ich weiß sowas geht aber wie weiß ich nich )
 
ja thx so gehts ;=) nur das doofe is wenn man garkeine mail hat kommt ein mysql error ... kann ich da irgendwie macchen das wenn kein db eintarg in der tabelle is das da dann steht : keine mail vorhanden ...
geht sowas ? (ja ich weiß sowas geht aber wie weiß ich nich )

Nimm doch das Script von aJunkie - er überprüft ob bei mysql_num_rows mehr als 0 Datensätze existieren, wenn ja, werden sie mittels while Schleife ausgegeben, ansonsten wird "Keine Datensätze" ausgegeben.

Grüße
 
Werbung:
hmm aber was ist hier Falsch ? :

PHP:
<?php
include('check.php');
$empfaenger = $_POST["empfaenger"]; 
$betreff = $_POST["betreff"];
$nachricht = $_POST["nachricht"];   

$verbindung = mysql_connect("localhost", "root" , "") 
or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); 
mysql_select_db("user") or die ("Datenbank konnte nicht ausgewählt werden"); 
$sqlbefehl = "INSERT INTO '$empfaenger' (absender, betreff, nachricht) values (`'.($_SESSION['username']).'`,'$betreff' , '$nachricht')";
$result = mysql_query($sqlbefehl) or die(mysql_error());
?>

Da sagt er das als error :

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\Buch\sendmail.php on line 10
 
PHP:
$sqlbefehl = "INSERT INTO '$empfaenger' (absender, betreff, nachricht) values (`'.($_SESSION['username']).'`,'$betreff' , '$nachricht')";
Als du $_SESSION[...] einfügst, versuchst du den String mit einfachen Anführungsstrichen zu unterbrechen, nötig wären aber doppelte.

Beschäftige dich vielleicht etwas mit den verschiedenen Fehlermeldungen in PHP, wenn man den Luxus dieser Sprache schon hat. ;)
</span></span>
 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''bertilo' (absender, betreff, nachricht) values (``,'lola' , 'charlialalalla oga' at line 1

^^ Das kommt
 
Werbung:
' und ` ist nicht das selbe. Mit ersterem werden Werte markiert, mit zweiterem Felder-, Tabellen- und Datenbanknamen.
 
Etwa:
PHP:
$sqlbefehl = "INSERT INTO '$empfaenger' (absender, betreff, nachricht) values ('".$_SESSION['username']."','$betreff' , '$nachricht')";
</span></span>
 
Werbung:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''bertilo' (absender, betreff, nachricht) values ('basti','Lalalal' , 'lilia a sd' at line 1

^^ damm
________damm
_____________daaaaaahhhm
 
Jetzt habe ich eine Flüchtigkeitsfehler gemacht und selbst die falschen Anführungszeichen verwendet. Also nochmal: für Feldnamen wird `verwendet, für Werte '.
PHP:
$sqlbefehl = "INSERT INTO `$empfaenger` (`absender`, `betreff`, `nachricht`) values ('".$_SESSION['username']."','$betreff' , '$nachricht')";
Letztes Gebot.
 
Zurück
Oben