php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 06-06-2007, 13:44
luckymedia
 Junior Member
Links : Onlinestatus : luckymedia ist offline
Registriert seit: May 2007
Beiträge: 69
luckymedia ist zur Zeit noch ein unbeschriebenes Blatt
Standard Variable

Hallo
habe mir heute nacht ein kleine Newslettereintragungsscript gebastelt.
es kommt ein fehler den ich überhaupt nicht nachvollziehen kann den ich habe die variable doch einen wert zugewiesen!
Fehler:
Notice: Undefined variable: action in /newsletter.php on line 47
Notice: Undefined variable: action in /newsletter.php on line 163
es handelt sich hierbei um die ein und selbe variable!
Naja vllt kann mir ja jemand sagen wo mein fehler liegt!
Also die Fehlerbeschreibung sagt ja ich hätte eine Variable nicht definiert jedoch bin ich der meinung sie ist definiert!

CODE:
PHP-Code:
<?    
error_reporting
(E_ALL);

//---------------------------------------------------------------------------
//Kennungen

  
$host="...";
  
$user="...";
  
$passwort="...";
  
$datenbank="...";  

  if(!
$conn mysql_pconnect($host$user$passwort))
  {
   die(
"Verbindung zur Datenbank konnte nicht hergestellt werden. Errorcode: ".mysql_error());
  }


  if(!
mysql_select_db($datenbank))
  {
     die(
"Die Datenbank $db konnte nicht ausgewaehlt werden. Errorcode: ".mysql_error());
  }

//----------------------------------------------------------------------------

    
$debugmodus false;


//--------------------------------------------------------------------------------------------------

    
if($debugmodus) {

        
echo 
"action     |"$action     ."|<br>";
    
    echo 
"name        |"$name         ."|<br>";
    
    echo 
"email        |"$email         ."|<br><br>";

    }


//--------------------------------------------------------------------------------------------------


if($action == "E-Mail Adresse eintragen") {

    
/* IP bestimmen */
    
$ip getenv("REMOTE_ADDR");
    
$host gethostbyaddr($ip);

    
$headers =     "From: Internet<info@domain.com>\r \n".
            
    
"ReplyTo: [email]info@domain.com[/email]\r \n".
                
"Content-Type: text/plain\r \n".
                
"X-Mailer: PHP/";
    
$message =     "Name: "$name ."\n".
            
"E-Mail Adresse: "$email ."\n\n".
    
"Internetseite: [url]http://www.domain.com\n[/url]";
@
mail("info@domain.com""Newsletter Eintrag auf [url]www.domain.com[/url]""$message""$headers");

    
/* Eintragen der Werte in Newsletter DB */
    
$email strtolower($email);
    
mysql_query("INSERT INTO newsletter_abo (name, email, active, inserttime, insertip, inserthost) ".    
        
"VALUES ('"$name     ."', "."'"$email ."', "."'1', "."now(), "."'"$ip     ."', "."'"$host     ."')");


    
$action "thank you";

}


//--------------------------------------------------------------------------------------------------
?>

<head>
<title>Newsletter</title>

<script language="javascript" type="text/javascript">

<!--
function check()
{
    
if (document.newsletter.name.value =="")
    
{
        
alert("Bitte geben Sie Ihren Namen ein.");
    
    document.newsletter.name.focus();
        
return false;
    }
    
if (document.newsletter.email.value =="")
    
{
        
alert("Bitte geben Sie Ihre E-Mail-Adresse ein.")    ;
        document.newsletter.email.focus();
        
return false;
    }
    
if(document.newsletter.email.value.indexOf('@') == -1)
   
 {
       
 alert("Das ist keine gültige eMail-Adresse!");
        document.newsletter.email.focus();
    
    return false;
    }
}

//-->
</script>




</head>

<body>


<table width="100%" cellpadding="8" cellspacing="4" border="0">
    
<tr>
        
</tr>
</table>


<table width="100%" cellpadding="0" cellspacing="0" border="0">
    
<tr>
        
<td width="150">
        
<img name="trans" src="../../images/trans.gif" width="150" height="1" border="0" alt="">
        
</td>
        
<td>
        
<?

            
if($action == "thank you") {

                
?>

                
<table border="0" cellpadding="8" cellspacing="0" width="380">
        
<tr>
                    
<td class="normal">
        
Ihre E-Mail Adresse wurde soeben in unseren Verteiler eingetragen.
    
<br><br><br>
                            
Vielen Dank.
                            
<br><br>
                        
</td>
                    
</tr>
                    
<tr>
                    
<td class="normal">
                    
<a href="../startseite.php" onmouseover="(window.status='zur Startseite'); return true" onmouseout="(window.status='')" target="_self">zur Startseite</a>
                        
</td>
                    
</tr>
                
</table>

               
<?

    
    
} else {

                
?>

                
<table border="0" cellpadding="8" cellspacing="0" width="380">
        
<tr>
                
<td class="normal">
    
<br>
                
Wenn Sie immer aktuelle Angebote und Infos von mir bekommen möchten, tragen Sie sich doch einfach in unseren kostenlosen Newsletter mit Ihrer E-Mail-Adresse ein.
    
<br>
                            
<br>
                        
<form name="newsletter" action="<?=$PHP_SELF?>" method="post" onSubmit="return check()">
    
<table border="0" cellpadding="0" cellspacing="2" width="100%">
                
<tr>
                        
<td><span class="normal"><b>Name:</b></span></td>
    
<td><input type="text" name="name" size="24" maxlength="100"></td>
        
</tr>
    
<tr>
        
<td><span class="normal"><b>E-Mail:</b></span></td>
        
<td>
<input type="text" name="email" size="24" maxlength="100">
</td>
                                
</tr>
                                
<tr>
                                
<td></td>
    
<td class="normal"><br>
    
<input type="checkbox" value="1" name="lucky-news" checked disabled>lucky Newsletter<br>
    
<br>
    
</td>
                                
</tr>
                    
<tr>
                
<td></td>
            
<td>
            
<input type="submit" name="action" value="E-Mail Adresse eintragen">
        
</td>
                            
</tr>
                            
</table>
                    
</form>
                    
</td>
                    
</tr>
                
</table>

            
<?

            
}

            
?>

        
</td>
    
</tr>

</table>


</body>

</html>
Mit Zitat antworten
  #2 (permalink)  
Alt 06-06-2007, 13:45
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
if($action == "E-Mail Adresse eintragen") {
Du musst der Variablen natürlich einen Wert zuweisen _bevor_ du abfragst, ob der Inhalt irgendwie ist.
__________________
ich glaube
Mit Zitat antworten
  #3 (permalink)  
Alt 06-06-2007, 14:12
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: Variable

Das ist doch nicht dein erster Thread hier, wo niveaumässig ganz ganz unten angefangen werden musste, dir die Grundlagen zu erklären ... ich bin ziemlich sicher, dass in einem deiner anderen Threads auch schon der Hinweis auf register_globals=off kam, und dass du dich darüber informieren sollst - also mach das bitte endlich.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #4 (permalink)  
Alt 06-06-2007, 14:52
luckymedia
 Junior Member
Links : Onlinestatus : luckymedia ist offline
Registriert seit: May 2007
Beiträge: 69
luckymedia ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sorry leute aber ich versteh grad mein eigenes Script nicht mehr!
Ich sag ja in der zeile das wenn die email adresse eingetragen ist das es dann in die db eintragen soll!
aber wie soll ich der dann bitte einen wert zuweisen!
des kann man doch gar nicht den wenn ich der einen wert zuweise dann trägt sich der wert ja dort ein und dann sagt er mir error!
Kann mir des jemand mal kurz erklären wie ich da verfahren soll!

wenn dann müsst ich sie ja fragen ob sie einen wert hat,
mit empty ...

Geändert von luckymedia (06-06-2007 um 14:55 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 06-06-2007, 15:07
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

variable zuweisen mit $_REQUEST
z.b.
PHP-Code:
$email "".$_REQUEST["email"]."";
#teste deine ausgabe dann mal mit 
echo "$email<br>"
register_globals testen
register_globals - php manual
Mit Zitat antworten
  #6 (permalink)  
Alt 06-06-2007, 15:10
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
$email = "".$_REQUEST["email"]."";
ist das dein ernst?
__________________
ich glaube
Mit Zitat antworten
  #7 (permalink)  
Alt 06-06-2007, 15:12
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wenn ich bei mir formulardaten übermittle dann hole ich sie so von der letzten seite und es funktioniert
ich lass mich gern eines besseren belehren
Mit Zitat antworten
  #8 (permalink)  
Alt 06-06-2007, 15:17
luckymedia
 Junior Member
Links : Onlinestatus : luckymedia ist offline
Registriert seit: May 2007
Beiträge: 69
luckymedia ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Super danke!!!!!!!
Der Fehler ist schon mal weg, aber jetzt sagt er mir:

Notice: Undefined index: email in /newsletter.php on line 44
Das ist die zeile von dir!
CODE:
PHP-Code:
//--------------------------------------------------------------------------------------------------
$action "".$_REQUEST["email"]."";


if(
$action == "E-Mail Adresse eintragen") {

    
/* IP bestimmen */
    
$ip getenv("REMOTE_ADDR");
    
$host gethostbyaddr($ip);

    
$headers =     "From: Internet<info@domain.com>\r \n".
            
    
"ReplyTo: [email]info@domain.com[/email]\r \n".
                
"Content-Type: text/plain\r \n".
                
"X-Mailer: PHP/";
    
$message =     "Name: "$name ."\n".
            
"E-Mail Adresse: "$email ."\n\n".
    
"Internetseite: [url]http://www.domain.com\n[/url]";
@
mail("info@domain.com""Newsletter Eintrag auf [url]www.domain.com[/url]""$message""$headers");

    
/* Eintragen der Werte in Newsletter DB */
    
$email strtolower($email);
    
mysql_query("INSERT INTO newsletter_abo (name, email, active, inserttime, insertip, inserthost) ".    
        
"VALUES ('"$name     ."', "."'"$email ."', "."'1', "."now(), "."'"$ip     ."', "."'"$host     ."')");


    
$action "thank you";

}
//-------------------------------------------------------------------------------------------------- 
Mit Zitat antworten
  #9 (permalink)  
Alt 06-06-2007, 15:20
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

zeile umbrechen!
dann versuch es so mal so $action = $_REQUEST['email'];
Mit Zitat antworten
  #10 (permalink)  
Alt 06-06-2007, 15:22
luckymedia
 Junior Member
Links : Onlinestatus : luckymedia ist offline
Registriert seit: May 2007
Beiträge: 69
luckymedia ist zur Zeit noch ein unbeschriebenes Blatt
Standard

kommt der gleiche fehler!
Mit Zitat antworten
  #11 (permalink)  
Alt 06-06-2007, 15:31
jens76
 Member
Links : Onlinestatus : jens76 ist offline
Registriert seit: Dec 2004
Beiträge: 328
jens76 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also lucky!!

das ist kein fehler sonder nur eine notic! dein apache ist scharf eingestellt und bringt bei nicht initierten variablen diese notice!

initiere bitte alle variablen bevor du auf sie zugreifst mit zb if ()

also im fall $action...

$action = '';
oder auch
$action = "irgend ein inhalt";


dann dürften die fehler nichtmehr kommen.
Mit Zitat antworten
  #12 (permalink)  
Alt 06-06-2007, 15:34
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

geht denn nicht $action = $_REQUEST["email"]; ???
Mit Zitat antworten
  #13 (permalink)  
Alt 06-06-2007, 15:35
Koala
 PHP Junior
Links : Onlinestatus : Koala ist offline
Registriert seit: Jan 2006
Beiträge: 887
Koala ist zur Zeit noch ein unbeschriebenes Blatt
Standard

$action soll ja auch nicht $_POST['email'] sein, sondern laut Deinem Formular $_POST['action'].

Benenn im Formular den Submit-Button wieder in Submit um:

<input type="Submit" name="Submit" value="Eintragen">

Das Absenden fragst ab mit

if(isset($_POST['Submit'])){ ...

und dann kannst Dir den Inhalt von POST anschaun mit print_r($_POST);
Mit Zitat antworten
  #14 (permalink)  
Alt 06-06-2007, 15:35
luckymedia
 Junior Member
Links : Onlinestatus : luckymedia ist offline
Registriert seit: May 2007
Beiträge: 69
luckymedia ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@jens

wenns so einfach wäre dann kommt aber ein wirklich wieder ein fehler !
Mit Zitat antworten
  #15 (permalink)  
Alt 06-06-2007, 15:36
luckymedia
 Junior Member
Links : Onlinestatus : luckymedia ist offline
Registriert seit: May 2007
Beiträge: 69
luckymedia ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@brauni

nein leider nicht da kommt dann der fehler mit email index
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

11.10.2018 Berni | Kategorie: PHP/ Anzeigenmarkt
PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:49 Uhr.