php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.10.2005, 14:08  
Gast
 
Beiträge: n/a
Standard Formularfunktionalität

Schönen Guten Tag Liebe User,

bin neu im Forum, in der Hoffnung in der Zukunft hier viele gute Ratschläge und Tipps hinsichtlich
PHP und MySQL zu erhalten, also verübelt mir bitte nicht, falls die Fragen als "sehr viel" oder "sehr dumm"
ausfallen *gg* - Wäre auf jeden Fall nett dann bei der Sache zu bleiben und das Problem dann dennoch
ausführlich genug auszuführen, auch wenn es für euch "sehr leicht" erscheint.

Aktuell arbeite ich an einer Website für 2006, wobei ich gerade ein Newseingabeformular code.
Es ist fertig, funktioniert jedoch leider nicht - Wieso?

Code:
<?php
    include_once 'checklogin.inc.php';
?>
<link href="formatierung.css" rel="stylesheet" type="text/css">
<table width="703" align="center">
  <tr>
    <td><div align="center">
      <table width="695" height="26" background="images/bg_titel.jpg">
        <tr>
          <td background="images/bg_titel.jpg"><div align="center" class="footer">Adminbereich | Newseingabe [Startseite]</div></td>
        </tr>
      </table>
    </div></td>
  </tr>
  <tr>
    <td><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >
      <table width="300" align="center">
        <tr class="menue_start">
          <td width="144"><div align="center">Autor</div></td>
          <td width="144"><div align="center">Datum</div></td>
        </tr>
        <tr>
          <td><div align="center">
            <input name="Autor" type="text" id="Autor"> 
            </div></td>
          <td><input name="Datum" type="text" id="Datum" value="XX/XX/XXXX"></td>
        </tr>
      </table>
      <table width="650" align="center">
        <tr>
          <td class="menue_start"><div align="center">Newstitel</div></td>
        </tr>
        <tr>
          <td><div align="center">
            <input name="Newstitel" type="text" id="Newstitel" size="50">
          </div></td>
        </tr>
        <tr>
          <td class="menue_start"><div align="center">Newstext</div></td>
        </tr>
        <tr>
          <td><div align="center">
            <textarea name="Newstext" cols="50" id="Newstext"></textarea>
          </div></td>
        </tr>
        <tr>
          <td><div align="center">
            <input type="submit" name="Submit" value="- Newsbeitrag absenden -">
          </div></td>
        </tr>
      </table>
      </form></td>
  </tr>
</table>
<?php
if( !empty($_POST["Submit"])) {
if( !$connection = mysql_connect("localhost","XXX","XXX" ) ) {
        die( 'Verbindung zum Datenbankserver konnte nicht hergestellt werden.' );
          }
if( !mysql_select_db( XXX, $connection ) ) {
        die ( 'Die Datenbank kann nicht verwendet werden. 

                       MySQL-Error: 
' . mysql_error() );
          }
$sql="INSERT INTO Ekstraklasa_News " .
"(ID, Autor, Datum, Newstitel, Newstext, Bild) VALUES ('', '$_POST[Autor]', '$_POST[Datum]', '$_POST[Newstitel]', '$_POST[Newstext]', '$_POST[Bild]')";
if (mysql_query($sql)) {
echo "<span class=/footer/>Glückwunsch! Dateieingabe erfolgreich</span>";
}
else {
echo "<span class=/footer/>Ihr Eintrag konnte nicht eingetragen werden!</span>";
}
mysql_close();
}
?>
Schonmal großen Dank für eure Hilfe!

PS: Also weder noch dass "Eintrag erfolgreich abgeschickt", noch das "Nicht erfolgreich Eintrag abgeschickt" erscheint,
ebenso wenig wie ein MySQL-Eintrag / Irgendwo scheint da ein elementarer Fehler zu sein, doch wo?

Liebe Grüße
Chris
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.10.2005, 14:23  
Erfahrener Benutzer
 
Registriert seit: 14.04.2005
Beiträge: 1.004
search
Standard

Code:
Wäre auf jeden Fall nett dann bei der Sache zu bleiben und das Problem dann dennoch
ausführlich genug auszuführen, auch wenn es für euch "sehr leicht" erscheint.
Nimms mir nicht übel aber das hier ist keine gratis Lehrveranstaltung.
Es gibt sehr gute Tutorials für den Einstieg in die Materie. Einige Links findest du im Anfängerforum, im zweiten oder dritten Thread.

Pack deinen Code mal in [ php ] bbcode, dafür ist das nämlich da.
Benutz aber bitte die edit Funktion vom Forum, nicht neues Posting anwerfen.

Mach mal
PHP-Code:
<?php
echo '<pre>';
print_r($_POST);
echo 
'</pre>';
?>
und lass dir alle Werte aus dem Formular ausgeben, dann fragst du gezielt danach.
- sind die Werte da?
- sind die Werte so wie sie sein sollen?
- ...

error_reporting(E_ALL); // ganz oben in dein script rein, dann kriegste Fehlermeldungen in Echtzeit an den Kopf getackert

greez search
__________________
schlimmer gehts nimmer.... dümmer immer!
search ist offline  
Alt 22.10.2005, 17:03  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Hallo Chris.

Nicht ausfürlich, aber sicherlich ausreichend:

1. Bevor du auf den Wert einer Variable bzw. eines Array-Feldes zugreist, stelle die Existenz derer/dieses sicher:
PHP-Code:
if (isset($_POST['foo'])) {
    
$foo $_POST['foo'];
} else {
    
$foo 'Default-Wert';
}

// oder kurz:

$foo = isset($_POST['foo']) ? $_POST['foo'] : 'Default-Wert'
2. http://php.net/manual/en/language.types.array.php ("Why is $foo[bar] wrong?")

3. http://php-faq.de/q/q-sql-injection.html

Basti
Basti ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:43 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.