Benutzername schon vorhanden - Abfrage

Du müsstest folgende Zeile

$user = $user.$row['EMail'].",";

durch diese ersetzen

$user .= "\"".$row['EMail']."\",";

Dann solltest Du Anführungszeichen davor und dahinter haben.

EDIT:
Hab grad nochmal Dein Post gelesen...Du brauchst eines am Anfang und dann eines nach der letzten Adresse ?
Dann musst Du das so machen:

$user .= $row['EMail'].",";
$user = "\"".substr($user, 0, -1)."\"";
 
Zuletzt bearbeitet:
Entweder wie von MrBlaschke beschrieben (lass Dich nicht durch die andere Schreibweise verwirren), oder Du machst einfach am Schluss statt nur echo $user z.B.

echo '"'.$user.'"';

Also einfach vor und hinter die Variable die Anführungszeichen anhängen.
 
das "echo" war ja nur zum Test, ich will ja hinterher das echo rausnehmen, es soll halt nur mit den Anführungszeichen in der Variable stehen.
Also mach ich es mal so wie MrBlaschke meint ^^
 
Nee, geht nicht :(
Er sagt mir zu dieser Zeile
Code:
			$user = "\".substr($user, 0, -1)."\"";
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /www/htdocs/xxx/rundmail.php on line 45

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /www/htdocs/xxx/rundmail.php on line 45
 
Du musst den Code schon richtig abschreiben.

Falsch und von Dir:
$user = "\".substr($user, 0, -1)."\"";

Richtig und von MrBlaschke:

$user = "\"".substr($user, 0, -1)."\"";
 
*gg* nee nee ich hab's kopiert und bei MrBlaschke ist es auch falsch ^^
Aber no prob... änder ich mal
 
Also mit dem Code hab ich am Anfang von der Variable $user erstmal ziemlich viele Anführungszeichen und dann vor und hinter jeder einzelnen Adresse eins.
Ich bräuchte dieses Format:
"addy1, addy2, addy3, addy4, ..." :(
 
Ooops. Hatte sich doch ein Anführungszeichen zu wenig eingeschlichen.

Sorry Virginia.

Wie es richtig sein muss weisst Du ja nun mittlerweile.

Und ich hatte nicht auf die Schleife geachtet. Häng die Zeile einfach unter die Schleife bevor Du
$user mit echo ausgibst. Dann müsste es passen
 
Zuletzt bearbeitet:
Also in der Variable steht jetzt das richtige, aber da ich auch in der Datenbank stehe, müsste die Mail auch mich erreichen, es kommt aber nix.

Kann es sein, dass der Provider den Versand irgendwie begrenzt?

Habe da was in Erinnerung, dass man nur 300 Mails schicken darf, wir haben aber 800 Member.
 
Anscheinend haben auch die ersten 300 die Mail nicht bekommen. Aber am Quellcode kann doch nun nichts mehr falsch sein :(

Code:
			$abfrage = mysql_query("SELECT EMail FROM fanclub");
			while($row = mysql_fetch_assoc($abfrage))
			{
			$user .= $row['EMail'].",";
			}
			$user = '"'.$user.'"';
			mail($user, $betreff, $nachricht, "From:mail@vfanclub.de"); //Mail an alle User
			print 'Die Mail wurde erfolgreich gesendet. Du erhälst automatisch eine Kopie.';
			$mailGesendet = true;
Sobald ich nur meine eigene E-Mail-Adresse als Empfänger eingebe, geht das ganze :( Hat jmd. eine Idee?
 
Vielleicht eine Antispam-Massnahme Deines Providers?

Versuch mal, Blöcke zu bilden.

- explode den String mit den Adressen
- nimm immer 50 oder so zusammen in einen Block
- probiere aus, wo die Grenze ist, wo das noch funktioniert
 
Ich bin von der Idee der Rundmail abgekommen. Die landet eh überall im Spamfilter, wenn soviele Empfänger drin stehen *grml*

Hab ne neue Frage *gg*
Die User können sich inzwischen ihr Profil ansehen. Klappt wunderbar. Nun sollen sie es natürlich auch ändern können. Dazu hab ich auch schon was gebaut.
Ok, ich ändere die Felder, klicke auf "senden" und es kommt "Vielen Dank, Dein Profil wurde geändert." Ich klicke nochmal auf "Mein Profil" und alles wird so angezeigt, wie ich es eben eingetragen habe. Nun gehe ich nochmal auf "Profil bearbeiten", stehen immer noch alle Daten korrekt da. Nun ändere ich in den Textfeldern nichts und klicke deshlab nicht auf "senden" sondern direkt auf "mein Profil anzeigen"... SCHWUPPS ist alles was ich eben geändert habe weg, die Felder sind leer.

Wo ist mein Denkfehler? hier mein Code:
Code:
	$strasse_neu = $_POST["strasse"];
	$plz_neu = $_POST["plz"];
	$ort_neu = $_POST["ort"];
	$website_neu = $_POST["website"]; ?>
 <h1>Mein Profil</h1>
 <?

	//connect to the DB and select the database
	$connection = mysql_connect('localhost', $db_user, $db_pass) or die(mysql_error());
	mysql_select_db('name', $connection) or die(mysql_error());

	//Datenbank-Abfrage nach Name und Passwort
			$abfrage = "SELECT * FROM fanclub 
			WHERE Nickname='".$_SESSION['username']."' AND Passwort='".$_SESSION['passwort']."'";
	// Abfrage starten
		$result = mysql_query($abfrage, $connection) or die('error making query');
		$affected_rows = mysql_num_rows($result);
	// falls Session-Variablen in dieser Kombination nicht vorhanden, ist der User wohl nicht eingeloggt:
		if($affected_rows == 0) {
			print '<font color=red>Du bist nicht eingeloggt.</font>';
			}
		else {
	// Tabellen-Zeile in Array schreiben
		$zeile = mysql_fetch_array($result);
	// Werte der Spalten in Variablen schreiben
		$benutzername = $zeile['Nickname'];
		$nachname = $zeile['Nachname'];
		$vorname = $zeile['Vorname'];
		$email = $zeile['EMail'];
		$plz = $zeile['PLZ'];
		$ort = $zeile['Ort'];
		$strasse = $zeile['Strasse'];
		$geboren = $zeile['geboren'];
		$website = $zeile['website'];
		$anmeldedatum = $zeile['Anmeldedatum'];
	// bereit für Anzeige des Profils,
	// nun speichern der ggf. neuen Daten in der Datenbank:
	$sql="UPDATE fanclub SET PLZ='".$plz_neu."' WHERE Nickname='".$_SESSION['username']."' AND Passwort='".$_SESSION['passwort']."'";
     mysql_query($sql) or die('Fehler'); 
	 	$sqlzwei="UPDATE fanclub SET website='".$website_neu."' WHERE Nickname='".$_SESSION['username']."' AND Passwort='".$_SESSION['passwort']."'";
     mysql_query($sqlzwei) or die('Fehler'); 
	 	$sqldrei="UPDATE fanclub SET Strasse='".$strasse_neu."' WHERE Nickname='".$_SESSION['username']."' AND Passwort='".$_SESSION['passwort']."'";
     mysql_query($sqldrei) or die('Fehler'); 
	 	$sqlvier="UPDATE fanclub SET Ort='".$ort_neu."' WHERE Nickname='".$_SESSION['username']."' AND Passwort='".$_SESSION['passwort']."'";
     mysql_query($sqlvier) or die('Fehler');
	// if (mysql_query($sql) AND mysql_query($sqlzwei) AND mysql_query($sqldrei) AND mysql_query($sqlvier)) {
		 print 'Vielen Dank, Dein Profil wurde geändert.'; 
	// Formular (nur anzeigen, wenn noch nicht abgeschickt)
 
Der Bereich, wo der Fehler liegen kann ist zu gross.
Du benutzt ja sicher mehrere Dateien und zeigst nur einen Codeausschnitt.
Hier ist niemand Hellseher (glaube ich wenigstens).

Zeig mal den ganzen Code und gib eine URL wo man sich das ganze anschauen kann.
 
Ok... also eigentlich benutze ich neben der editprofile.php, die ich euch bereits gepostet habe, nur noch die profil.php:

Code:
<?php
	$db_user = 'xxx';
	$db_pass = 'xxx';
	//connect to the DB and select the database
	$connection = mysql_connect('localhost', $db_user, $db_pass) or die(mysql_error());
	mysql_select_db('xxx', $connection) or die(mysql_error());

	//Datenbank-Abfrage nach Name und Passwort
			$abfrage = "SELECT * FROM fanclub 
			WHERE Nickname='".$_SESSION['username']."' AND Passwort='".$_SESSION['passwort']."'";
	// Abfrage starten
		$result = mysql_query($abfrage, $connection) or die('error making query');
		$affected_rows = mysql_num_rows($result);
	// falls Session-Variablen in dieser Kombination nicht vorhanden:
		if($affected_rows == 0) {
			print '<font color=red>Du bist nicht eingeloggt.</font>';
			}
		else {
	// Tabellen-Zeile in Array schreiben
		$zeile = mysql_fetch_array($result);
	// Werte der Spalten in Variablen schreiben
		$benutzername = $zeile['Nickname'];
		$nachname = $zeile['Nachname'];
		$vorname = $zeile['Vorname'];
		$email = $zeile['EMail'];
		$plz = $zeile['PLZ'];
		$ort = $zeile['Ort'];
		$strasse = $zeile['Strasse'];
		$geboren = $zeile['geboren'];
		$website = $zeile['website'];
		$anmeldedatum = $zeile['Anmeldedatum'];
 ?>
 <h1>Mein Profil</h1>
 <table width="90%"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>Benutzername:</td>
    <td><?php echo $benutzername; ?></td>
  </tr>
//so geht das Formular dann auch weiter
<?php } ?>
Zum Ansehen habe ich euch einen Testaccount eingerichtet mit Namen und Passwort: test.
Ihr könnt euch auf www.vl-fanclub.de damit einloggen, danach könnt Ihr euch auf www.vl-fanclub.de/profil.php das Profil ansehen und es unter www.vl-fanclub.de/editprofile.php ändern :)
 
Braucht Ihr noch irgendwelche Infos oder hat nur keiner ne Idee dazu? :(
 
Zurück
Oben