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 17-09-2003, 13:04
rony
 Newbie
Links : Onlinestatus : rony ist offline
Registriert seit: Sep 2003
Beiträge: 22
rony ist zur Zeit noch ein unbeschriebenes Blatt
Standard Fehler abfangen

Hi Leute

Ich habe ein Newsletter geschrieben mit dem ich noch ein Problemchen habe. Soweit klappt es gut, nur wenn ich eine Email die schon in der DB existiert nochmals über Formular abschicke (eintragen möchte) erscheint dieselbe Fehlermeldung wie wenn ich ein leeres Feld abschicke!
Also "Bitte geben Sie eine Email Adresse ein".

Lieber und logischer wäre es mir wenn schon auf die vorhandene Email-Adresse hingewiesen wird wie z.B. "Sie sind schon in unserem Newsletter eingetragen".
Ich kriege den Code nicht hin weil ich ziemlicher Newbie bin in sachen PHP und MySQL, also wenn Ihr die Frage idiotisch findet lasst mich am leben


Ich poste sicherheitshalber nochmal ein Teil vom Code:



PHP-Code:
<?php
$editFormAction 
$HTTP_SERVER_VARS['PHP_SELF'];
if (isset(
$HTTP_SERVER_VARS['QUERY_STRING'])) {
  
$editFormAction .= "?" $HTTP_SERVER_VARS['QUERY_STRING'];
}

if ((isset(
$HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "form1")) {
  
$insertSQL sprintf("INSERT INTO news (name, email) VALUES (%s, %s)",
                       
GetSQLValueString($HTTP_POST_VARS['name'], "text"),
                       
GetSQLValueString($HTTP_POST_VARS['email'], "text"));

                           
$error "Bitte geben Sie eine E-Mail Adresse an.";  
                           
$error2 "Sie sind in unserem Newsletter schon eingetragen.";
                           
$ok "Eintrag erfolgreich.";
                           
mysql_select_db($database_arena$arena);
                           
$Result1 mysql_query($insertSQL$arena);
                           if (!
$Result1)
                             {
                             echo 
"<table lenght=402 height=20 class=newstable><td><center>$error</center></td></table>";
                             }
                              else
                             {
                             echo 
"<font face=verdana size=-2 color=#000000>$ok | &nbsp;<a href=aktuell.php class=newsbesucht>hier</a> geht es weiter</font>";
                             }
                             }
                             
?>


Ich bin unendlich dankbar für Jeden HInweis oder Hilfe
MfG rony
Mit Zitat antworten
  #2 (permalink)  
Alt 17-09-2003, 13:07
Happy Nihilist
 PHP Senior
Links : Onlinestatus : Happy Nihilist ist offline
Registriert seit: Sep 2003
Beiträge: 1.168
Happy Nihilist ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nun, du gibts auch nur diese eine Fehlermeldung aus. Im Script ist ja nicht mal eine andere Ausgabe angegeben!
Mit Zitat antworten
  #3 (permalink)  
Alt 17-09-2003, 13:09
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

- prüf die email-addie nicht nur mit isset() sondern auch mit emty() (wofür eigentlich isset?)
- setz das email-feld in der db auf "unique" und frage nach dem insert mit mysql_affected_rows ab, ob ein eintrag gemacht wurde
__________________
Kissolino.com
Mit Zitat antworten
  #4 (permalink)  
Alt 17-09-2003, 13:11
rony
 Newbie
Links : Onlinestatus : rony ist offline
Registriert seit: Sep 2003
Beiträge: 22
rony ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also aus Platzgründen hab ich nicht den ganzen Code gepostet, aber hier nochmal der ganze Code:

PHP-Code:

<?php require_once('Connections/arena.php'); ?>
<?php
mysql_select_db
($database_arena$arena);
$query_Recordset1 "SELECT * FROM news";
$Recordset1 mysql_query($query_Recordset1$arena) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 mysql_num_rows($Recordset1);
?>
<html>
<head>
<title>start</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/main-style.css" rel="stylesheet" type="text/css">
</head>
<body leftmargin="30" topmargin="0">
     <tr>
        <td width="670" height="520" valign="top"><table width="600" border="0" cellspacing="0" cellpadding="0">
            <tr>
                <td width="22" height="20">&nbsp;</td>
                <td height="20">&nbsp;</td>
                <td height="20" class="aktualisiert"><div align="right"></div></td>
            </tr>
            <tr>
                <td width="22" height="500" rowspan="2">&nbsp;</td>
                <td height="480" colspan="2" valign="top"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><strong>Newsletter
                 Sport <font color="#FF0000">Arena</font></strong></font><font color="#FF0000">&nbsp;
                      </font>
                       <hr align="left" width="580" size="1" noshade>                                   
                        <span class="text"><img src="img/blind.gif" width="2" height="5"><br>
                Tragen  Sie sich in unser Newsletter ein damit wir Sie informieren k&ouml;nnen &uuml;ber aktuelle Events und Erreignisse.</span><span class="text"> <br>
                      <br>
                      *Sie
                      k&ouml;nnen
                      den
                      Newsletter
                      auch
                      <a href="newsletter_del.php"><strong>deaktivieren</strong></a> indem Sie hier klicken.<br><br></span>
                      <table width="577" height="100" border="0" cellpadding="0" cellspacing="0">
                            <tr>
                                  <td width="413" valign="top"><em> </em>
                                        <hr align="left" size="1" noshade>
                                        <br>
                                        <table width="412" height="20" border="0" cellpadding="0" cellspacing="0">
                                              <tr>
                                                    <td width="79">&nbsp;</td>
                                                    <td width="333"><?php
                                
function GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
                            {
                          
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
              switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? "'" doubleval($theValue) . "'" "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}

$editFormAction $HTTP_SERVER_VARS['PHP_SELF'];
if (isset(
$HTTP_SERVER_VARS['QUERY_STRING'])) {
  
$editFormAction .= "?" $HTTP_SERVER_VARS['QUERY_STRING'];
}

if ((isset(
$HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "form1")) {
  
$insertSQL sprintf("INSERT INTO news (name, email) VALUES (%s, %s)",
                       
GetSQLValueString($HTTP_POST_VARS['name'], "text"),
                       
GetSQLValueString($HTTP_POST_VARS['email'], "text"));

                           
$error "Bitte geben Sie eine E-Mail Adresse an.";  
                           
$error2 "Sie sind in unserem Newsletter schon eingetragen.";
                           
$ok "Eintrag erfolgreich.";
                           
mysql_select_db($database_arena$arena);
                           
$Result1 mysql_query($insertSQL$arena);
                           if (!
$Result1)
                           {
                           echo 
"<table lenght=402 height=20 class=newstable><td><center>$error</center></td></table>";
                           }
                            else
                           {
                           echo 
"<font face=verdana size=-2 color=#000000>$ok | &nbsp;<a href=aktuell.php class=newsbesucht>hier</a> geht es weiter</font>";
                           }
                           }
                            
?>
                          </td>
                                      </tr>
                                        </table>                                       
                                              <form method="post" name="form1">
                                              <table width="300" align="left">
                                                          <tr valign="baseline">
                                                                <td width="73" height="40" align="center" valign="middle" nowrap class="form"><div align="left">Name:</div></td>
                                                                <td width="215" height="40" valign="middle">
                                                                      <div align="left">
                                                                         <input type="text" name="name" value="" size="32" class="news1">
                                                                  </div></td>
                                                          </tr>
                                                          <tr valign="baseline">
                                                                <td height="40" align="center" valign="middle" nowrap class="form"><div align="left">Email:</div></td>
                                                                <td height="40" valign="middle">
                                                                      <div align="left">
                                                                       <input type="text" name="email" value="" size="32" class="news1">
                                                                 </div></td>
                                                          </tr>
                                                          <tr valign="middle">
                                                                <td height="40" align="right" nowrap>&nbsp;</td>
                                                                <td height="40"><img src="img/blind.gif" width="2" height="5"><br>                                                               
                                                                    <input type="submit" value="In Newsletter Eintragen" class="newsbutton"><br>                                                                
                                                                   <img src="img/blind.gif" width="2" height="5"><br>
                                                                 <font color="#999999" size="1" face="Verdana, Arial, Helvetica, sans-serif">*E-Mail Feld ist ein Pflichtfeld</font></td>
                                                          </tr>
                                                    </table>
                                 <input type="hidden" name="MM_insert" value="form1">
                                              </form>
                                        <p>&nbsp;</p></td><td width="164">&nbsp;</td>
                                    </tr>
                              </table>
                      <br>                      <br>                      
                      <hr align="left" width="580" size="1" noshade>                      
                      <span class="text"><br>
                </span> </td>
                    </tr>
                    <tr>
                  <td width="318" height="20" valign="top">&nbsp;</td>
                  <td width="260" valign="middle" class="aktualisiert"><div align="right"></div></td>
                    </tr>
                   </table></td>
                 </tr>
            </table>
</body>
</html>
<?php
mysql_free_result
($Recordset1);
?>
Gruss rony
Mit Zitat antworten
  #5 (permalink)  
Alt 17-09-2003, 13:14
Happy Nihilist
 PHP Senior
Links : Onlinestatus : Happy Nihilist ist offline
Registriert seit: Sep 2003
Beiträge: 1.168
Happy Nihilist ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich seh trotzdem nur, dass du $error ausgibst. $error2 wird nur deklariert, und das wars dann auch schon wieder.
Mit Zitat antworten
  #6 (permalink)  
Alt 17-09-2003, 13:14
rony
 Newbie
Links : Onlinestatus : rony ist offline
Registriert seit: Sep 2003
Beiträge: 22
rony ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Happy Nihilist
Nun, du gibts auch nur diese eine Fehlermeldung aus. Im Script ist ja nicht mal eine andere Ausgabe angegeben!
Den Code hat DW gemacht, macht auch weiterhion keine Probleme, mich interessiert weil ich nicht weiterkomme wie der Code aussehen könnte also bzw. die Abfrage wenn email schon vorhanden dann gebe "Text" aus.

Das Feld email in der DB ist schon mittels "unique" definiert.

Gruss rony
Mit Zitat antworten
  #7 (permalink)  
Alt 17-09-2003, 13:17
Happy Nihilist
 PHP Senior
Links : Onlinestatus : Happy Nihilist ist offline
Registriert seit: Sep 2003
Beiträge: 1.168
Happy Nihilist ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wer hat den Code gemacht?
Mit Zitat antworten
  #8 (permalink)  
Alt 17-09-2003, 13:17
rony
 Newbie
Links : Onlinestatus : rony ist offline
Registriert seit: Sep 2003
Beiträge: 22
rony ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Happy Nihilist
Ich seh trotzdem nur, dass du $error ausgibst. $error2 wird nur deklariert, und das wars dann auch schon wieder.
Ich habe Ihn desshalb deklariert weil ich dachte ich könnet mit "!($Result2)"
ne andere Fehlermedlung ausgegen.

Aber ich weiss nicht ob das machbar ist so eine Abfrage mit "!($Result2)" damit geprüft wird ob eine email schon vorhanden ist.

Gruss rony
Mit Zitat antworten
  #9 (permalink)  
Alt 17-09-2003, 13:18
rony
 Newbie
Links : Onlinestatus : rony ist offline
Registriert seit: Sep 2003
Beiträge: 22
rony ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Happy Nihilist
Wer hat den Code gemacht?
Dreamweaver MX
Mit Zitat antworten
  #10 (permalink)  
Alt 17-09-2003, 13:18
Happy Nihilist
 PHP Senior
Links : Onlinestatus : Happy Nihilist ist offline
Registriert seit: Sep 2003
Beiträge: 1.168
Happy Nihilist ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Und wo ist Result2?

EDIT:
WAT? Weißt du denn, wass dir Dreamweaver da zusammengefrickelt hat?
Mit Zitat antworten
  #11 (permalink)  
Alt 17-09-2003, 13:21
rony
 Newbie
Links : Onlinestatus : rony ist offline
Registriert seit: Sep 2003
Beiträge: 22
rony ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Happy Nihilist
Und wo ist Result2?
Den hät ich nach der "else" Anweisung einfach hinterher platziert, und die $Result2 hät ich direkt unter der $Result1 platziert, aber das gibt Fehlermeldung oder beide Errors werden ausgegeben ..

Gruss rony
Mit Zitat antworten
  #12 (permalink)  
Alt 17-09-2003, 13:21
rony
 Newbie
Links : Onlinestatus : rony ist offline
Registriert seit: Sep 2003
Beiträge: 22
rony ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Happy Nihilist
Und wo ist Result2?

EDIT:
WAT? Weißt du denn, wass dir Dreamweaver da zusammengefrickelt hat?
Ich denke mal besser als ich selbst!
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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

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


 

Aktuelle PHP Scripte

Newsmanager

Der Newsmanager ist ein Newssystem und Newsletter in einem. Mit WYSIWYG Editor und E-Mail import aus einer bestehenden MySql Datenbank sowie dynamische Kategorien / Themen Filter.

11.09.2019 Stephan_1972 | Kategorie: PHP/ News
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

11.09.2019 Stephan_1972 | Kategorie: PHP/ Webservice
ContentLion - Open Source CMS ansehen ContentLion - Open Source CMS

ContentLion ist ein in PHP geschriebenes CMS, bei dem man Seiten, Einstellungen usw. in Ordnern lagern kann

22.08.2019 stevieswebsite2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:09 Uhr.